首页 > 代码库 > 初识FOR XML PATH

初识FOR XML PATH

今天公司升级考试(我打酱油的熟悉下),结果第一题就熄火了,大概是这样的:

一张学生表,列分别为(stuID,sName,hobby),stuID代表学生编号,sName代表学生姓名,hobby列存学生的爱好

要求是查询学生表,显示所有学生的爱好的结果集

我在那搞了半天没搞出来,过后问了下同事,他说用FOR XML PATH,搞了下出来了

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         

 其实FOR XML PATH就是将查询结果集以XML形式展现