微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlserver 实现字符串的聚合

关键字:sqlserver 2012,FOR XML PATH,连接字符串

 

    大家可能在工作中都遇到过需要聚合字符串的情况,例如:

实际的表数据如下

depart name
开发部 张三
开发部 李四
财务部 王二
财务部 麻子
运营部 路人甲

 

然后通过聚合,希望得到的结果

depart name
开发部 张三,李四
财务部 王二,麻子
运营部 路人甲

 

实际上,有三种方法可以实现这样的结果

1,使用自定义方法(function)

2,使用游标(cursor)

3,使用for xml path函数

 

这里主要介绍第三种,因为理论上代码的复杂度和开销都相对会小一点。

代码如下

 

select depart,[name] = stuff((select ',' + [name] from tb t where id = tb.depart for xml path('')),1,'') from tb group by depart

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐