我如何将 table 数据(多行)输出为多行连接字符串

How can i output table data (multiple rows) as a multiple rows of concatenated strings

我正在尝试使用 2 tables 和一组依据...获取从 select 语句构建的 table 数据,然后将每一行数据输出到单个行连接文本。

我尝试尝试声明、设置和打印为连接字符串。

use ap;

SELECT v.vendorid as 'VendorID', count(i.invoiceid) as 'Invoice Count', 
sum(i.invoicetotal) as 'Invoice Total' 
FROM vendors v
JOIN invoices i on i.vendorid = v.vendorid
GROUP BY v.vendorid

尝试输出它...

VendorID = 34 发票计数 2 发票总计 = 1,200.12

只需将其连接成一个字符串即可。您只需将数值转换为 VARCHAR。

select 'VendorID = ' + CAST(v.vendorid AS VARCHAR(10)) + ' Count ' + CAST(count(i.invoiceid) AS VARCHAR(10)) +
    ' Invoice Totals = ' + FORMAT(sum(i.invoicetotal), 'c2')
from vendors v JOIN invoices i on i.vendorid = v.vendorid 
group by v.vendorid

使用此示例数据:

create table vendors (vendorid int)
create table invoices (vendorid int, invoiceid int, invoicetotal money)

insert into vendors values (34)
insert into invoices values (34, 1, 1000), (34, 2, 200.12)

Returns:

VendorID = 34 Count 2 Invoice Totals = ,200.12