Heim > Datenbank > MySQL-Tutorial > sqlserver 实现字符串的聚合

sqlserver 实现字符串的聚合

WBOY
Freigeben: 2016-06-07 15:51:45
Original
1432 Leute haben es durchsucht

关键字: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函数

 

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

代码如下

 

<span>select</span><span> depart, </span><span>[</span><span>name</span><span>]</span><span>=</span><span>stuff</span><span>((</span><span>select</span><span>'</span><span>,</span><span>'</span><span>+</span><span>[</span><span>name</span><span>]</span><span>from</span><span> tb t </span><span>where</span><span> id </span><span>=</span><span> tb.depart </span><span>for</span><span> xml path(</span><span>''</span><span>)) , </span><span>1</span><span> , </span><span>1</span><span> , </span><span>''</span><span>) </span><span>from</span><span> tb </span><span>group</span><span>by</span><span> depart</span>
Nach dem Login kopieren


 


 

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage