SQL - for xml path('') 实现多行合并到一行, 并带有分隔符

docs.microsoft.com 连接:  SQL sql

一个应用场景与FOR XML PATH应用
spa

 

首先呢!咱们在增长一张学生表,列分别为(stuID,sName,hobby),stuID表明学生编号,sName表明学生姓名,hobby列存学生的爱好!那么如今表结构以下:code

 

           

 

        这时,咱们的要求是查询学生表,显示全部学生的爱好的结果集,代码以下:server

 

复制代码
SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby FROM ( SELECT sName, (SELECT hobby+',' FROM student WHERE sName=A.sName FOR XML PATH('')) AS StuList FROM student A GROUP BY sName ) B 
复制代码

         结果以下:blog

 

SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby  就是来去掉逗号get

相关文章
相关标签/搜索