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

相關文章
相關標籤/搜索