我希望将1列和分组中的值连接起来。我已经看到了很多这方面的解决方案(例如使用FOR XML PATH('')
),但我没有遇到过使用超过1个表的解决方案。我需要第二个表来过滤掉一些条目,但我无法弄清楚如何去做。
我的数据如下:
SONo PartNo
1 A04000.1 M41000M
2 A04000.1 M52000M
3 A04001.1 V31255
4 A04001.1 V32895
我希望它看起来像这样:
SONo PartNo
1 A04000.1 M41000M, M52000M
2 A04001.1 V31255, V32895
我的查询如下:
SELECT SUBSTRING(Table1.ID, 5, 10) AS SONo, Table1.PartNo
FROM Table1 INNER JOIN
Table2 ON Table1.PartNo = Table2.PartNo
WHERE (Table2.StoreNo = '13')
ORDER BY SONo
非常感谢任何帮助。
感谢。
答案 0 :(得分:0)
好的,我明白了。我将查询保存为视图,然后使用FOR XML PATH ('')
,如果渲染速度有点慢,则可以使用它。
这是我的新查询:
SELECT t1.SalesOrderNo,
STUFF((SELECT ', '+t2.PartNo
FROM dbo.SOCuttersUsed t2
WHERE t1.SalesOrderNo = t2.SalesOrderNo FOR XML PATH('')),1,1,'') AS PartNo
FROM dbo.SOCuttersUsed t1
GROUP BY t1.SalesOrderNo
ORDER BY SalesOrderNo