我有一个名为SampleData的表,如下所示:
col1 col2
1 a
1 b
1 c
2 d
2 e
3 f
我需要以下格式的数据:
col1 col2
1 a,b,c
2 d,e
3 f
还有办法使用CTE吗?
答案 0 :(得分:5)
如果您使用SQL Server 2005
及更高版本,则可以使用STUFF。
SELECT
[col1],
STUFF(
(SELECT ',' + [col2]
FROM Table1
WHERE [col1] = a.[col1]
FOR XML PATH ('')) , 1, 1, '') AS col2
FROM Table1 AS a
GROUP BY [col1]
答案 1 :(得分:1)
我认为这对你也很有用。