我有以下查询,效果很好。
select distinct d_invoice.*,
center.centerid
from d_invoice
inner join center
on center.centerid = d_invoice._center
现在上面的查询为我提供了dr_id
这是表d_invoice
的PK
使用来自其他表的以下查询,它会为item_id
提供{1}},因为一个dr_id
可以有多个项目:
select item_id
from d_invoice_items
where dr_id = 10
我想加入两个查询,因此我可以创建一个名为items
的新列,它会在逗号分隔中列出所有item_id
。
答案 0 :(得分:0)
您可以使用STUFF
和FOR XML PATH
之类的内容:
select distinct d.*,
c.centerid,
stuff((
select ',' + item_id
from d_invoice_items i
where i.dr_id = d.dr_id
for xml path('')
), 1, 1, '') as items
from d_invoice d
inner join center c on c.centerid = d._center;