有什么方法可以更改通常将具有相同值的多行返回到单行的SQL查询吗?
例如,如果我现有的查询返回以下内容:
ColA ColB 1 AA 1 BB 1 CC 2 AA 3 AA
我可以将查询更改为仅返回3行,并将1的第二和第三结果放入第一行,以便您有以下一行:1 AA BB CC吗?
1 AA BB CC
并不是很好,但是可以工作(我在group_concatMySql中不见了 ):
group_concat
SELECT ColA, ColB=STUFF( (SELECT ' ' + ColB FROM dbo.Table1 t2 WHERE t1.ColA = t2.ColA FOR XML PATH ('')) , 1, 1, '') FROM dbo.Table1 t1 GROUP BY ColA
演示版
[编辑:出于任何原因假定为SQL Server]