我如何将 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
我正在尝试使用 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