以逗号分隔格式对数据进行分组

时间:2013-07-21 11:32:14

标签: sql-server

我有一个名为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吗?

2 个答案:

答案 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)

我认为这对你也很有用。

Comma Seprate Value