用于聚合/连接的SQL查询

时间:2011-10-25 21:40:58

标签: sql sql-server tsql sql-server-2008-r2

我有一张这样的表:

ID    Name
----------
1   john
1   molly
2   greg
2   sean
1   holly
2   mill

SQL Query应该如何聚合结果,如下所示:

ID  Name
-------------
1   john/molly/holly
2   greg/sean/mill

1 个答案:

答案 0 :(得分:4)

注意:STUFF函数只是从返回的字符串中删除了前导/。

SELECT t1.id, 
       STUFF((SELECT '/' + t2.name
                FROM YourTable t2
                WHERE t1.id = t2.id
                ORDER BY t2.name
                FOR XML PATH('')),1,1,'') AS Name
    FROM YourTable t1
    GROUP BY t1.id
相关问题