明细项按组聚合FOR XML PATH
- 2021-11-29 10:46:00
- 微图
- 原创 985
参考文章:实例详述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
教程-命令-主从从
应用
发表评论