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

