1. 程式人生 > >sql server中分組合並列值

sql server中分組合並列值

表a

我們想讓班級相同的合併成一列查出Name

SELECT Class,STUFF( ( SELECT ','+ Name FROM a b 
WHERE b.Class = a.Class FOR XML PATH('')),1 ,1, '')  Name
FROM a a  GROUP BY Class


我們如果想查出Age,因為age是int型別的 我們需要轉換成vchar 使用cast,

SELECT Class,STUFF( ( SELECT ','+ CAST(Age as varchar(10)) FROM a b 
WHERE b.Class = a.Class FOR XML PATH('')),1 ,1, '')  Age
FROM a a  GROUP BY Class
此時的Age是字串型別的