您好,欢迎访问一九零五行业门户网

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
其它类似信息

推荐信息