sqlserver 实现字符串的聚合

sqlserver 实现字符串的聚合,第1张

概述关键字:sqlserver 2012,FOR XML PATH, 连接字符串       大家可能在工作中都遇到过需要聚合字符串的情况,例如: 实际的表数据如下 depart name 开发部 张三 开发部 李四 财务部 王二 财务部 麻子 运营部 路人甲   然后通过聚合,希望得到的结果 depart name 开发部 张三,李四 财务部 王二,麻子 运营部 路人甲   实际上,有三种方法可以实

关键字: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
总结

以上是内存溢出为你收集整理的sqlserver 实现字符串的聚合全部内容,希望文章能够帮你解决sqlserver 实现字符串的聚合所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1177160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存