我有2张 table :
SELECT UnitId FROM dbo.tblUnits
SELECT UnitId, WorkOrderNumber FROM dbo.tblWorkOrders
我需要显示来自 dbo.tblUnits 的所有 UnitId,然后在 1 列中显示所有由逗号分隔的 WorkOrders。
所以这里有一些示例数据:
dbo.tbl 单位:
UnitId
123
156
178
dbo.tbl 工单
UnitId WorkOrderNumber
123 1
123 2
156 4
178 5
178 9
178 10
我必须使用 tblUnits 表,因为我要从中提取更多数据,但最终结果我想显示:
UnitId WorkOrderNumber
123 1,2
156 4
178 5,9,10
有任何想法吗?
谢谢
最佳答案
select
UnitId,
stuff((select ', ' + convert(varchar, WorkOrderNumber)
from tblWorkOrders t2 where t1.UnitId = t2.UnitId
for xml path('')),
1,2,'') WorkOrderNumbers
from tblWorkOrders t1
group by UnitId
关于两个表之间的 SQL 相同单元需要 1 个单元格中的订单号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5624592/