明细项按组聚合FOR XML PATH

2021-11-29 10:46:00
微图
原创 982

参考文章:实例详述FOR XML PATHhttp://www.360doc.com/content/20/0214/22/11881101_892070529.shtml




SELECT 
	名称,
	项明细=(SELECT ','+项名 FROM 典 WHERE 名称=A.名称 FOR XML PATH(''))
FROM 
	典 A


加上分组GROUP BY


SELECT 
	名称,
	项明细=(SELECT ','+项名 FROM 典 WHERE 名称=A.名称 FOR XML PATH(''))
FROM 
	典 A
GROUP BY 
	名称 


注意:必须要加上条件where 名称=A.名称,不然出现笛卡尔集,会连接所有的项


去掉前面逗号,此时要用到STUFF()函数


SELECT 
	名称,
	项明细=STUFF((SELECT ','+项名 FROM 典 WHERE 名称=A.名称 FOR XML PATH('')), 1, 1, '')
FROM 
	典 A
GROUP BY 
	名称



发现用命令能代替for xml parth

教程-命令-主从从


应用


发表评论
评论通过审核后显示。
  • 在线客服
  • 关注微信
    • 客服帆帆
    • 客服娜娜
    • 客服美美
    • 客服龙龙
  • 扫一扫关注微信