您好,欢迎来到宝玛科技网。
搜索
您的当前位置:首页sqlserver实现字符串的聚合

sqlserver实现字符串的聚合

来源:宝玛科技网


关键字: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 , 1 , '') from tb groupby depart

Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务