sql server查询结果:行转列、XML形式

1.普通查询

SELECT M.name From Menu M
INNER JOIN MenuRoleRelation MRR ON M.id=mrr.MenuId
AND MRR.RoleId=1;

结果:

sql server查询结果:行转列、XML形式_第1张图片

2.做xml字符串返回

        最后面加上:FOR XML PATH('')

结果:

3.可以改为逗号分隔

SELECT ','+M.name From Menu M
INNER JOIN MenuRoleRelation MRR ON M.id=mrr.MenuId
AND MRR.RoleId=1 FOR XML PATH('')

结果:

4.优化一下,将第一个逗号删除

SELECT STUFF((
	SELECT ','+M.name From Menu M
	INNER JOIN MenuRoleRelation MRR ON M.id=mrr.MenuId
	AND MRR.RoleId=1 FOR XML PATH('')	
), 1, 1, '')STR

结果:

你可能感兴趣的:(sql,server,xml,数据库,sqlserver)