问题:
昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行。
比如表中有两列数据 :
ep_classes | ep_name |
---|---|
AAA | 企业1 |
AAA | 企业2 |
AAA | 企业3 |
BBB | 企业4 |
BBB | 企业5 |
我想把这个表变成如下格式:
ep_classes | ep_name |
---|---|
AAA | 企业1,企业2,企业3 |
BBB | 企业4,企业5 |
解决方法:
实现代码如下:
select ep_classes, ep_name = (stuff((select ',' + ep_name from ep_detail where ep_classes = a.ep_classes for xml path('')),1,1,'')) from ep_detail a group by ep_classes
表名为:ep_detail