有表結構以下:spa
這時,要求顯示全部學生的愛好的結果集,代碼以下:3d
SELECT B.name,LEFT(StuList,LEN(StuList)-1) as hobby FROM ( SELECT name, (SELECT hobby+',' FROM student WHERE name=A.name FOR XML PATH('')) AS StuList FROM student A GROUP BY name ) B
結果:code
由於有特殊字符,因此轉義了,不轉義使用 ,TYPE).value('.','NVARCHAR(MAX)'),以下:blog
SELECT B.name,LEFT(StuList,LEN(StuList)-1) as hobby FROM ( SELECT name, (SELECT hobby+',' FROM student WHERE name=A.name FOR XML PATH(''),TYPE).value('.','NVARCHAR(MAX)') AS StuList FROM student A GROUP BY name ) B
結果:class