Possible Duplicate:
SQL group_concat function in SQL Server
我想创建一个查询,但不知何故我无法这样做。有人可以帮我吗?
原始数据
ID ReportId Email
1 1 a@a.com
2 2 b@b.com
3 1 c@c.com
4 3 d@d.com
5 3 e@e.com
我想按 ReportId
分组,但所有电子邮件都应以逗号分隔。所以结果应该是:
ReportId Email
1 a@a.com, c@c.com
2 b@b.com
3 d@d.com, e@e.com
执行此操作的最佳方法是什么?
我正在尝试使用 group by 子句,但如果有任何其他事情,那么我也愿意实现它。我非常感谢您的时间和帮助。谢谢。
最佳答案
试试这个:
SELECT ReportId, Email =
STUFF((SELECT ', ' + Email
FROM your_table b
WHERE b.ReportId = a.ReportId
FOR XML PATH('')), 1, 2, '')
FROM your_table a
GROUP BY ReportId
SQL fiddle demo
关于SQL Server : GROUP BY clause to get comma-separated values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12668528/