SQL多行并一行统计例子之STUFF()函数+FOR XML PATH()函数应用
2018-01-23 23:26
567 查看
SELECT * FROM tbiz_ProjectRelation
目标统计每个项目有几条申请记录
Step1
SELECT ProjectID , RelationIDs = STUFF(( SELECT ',' + CONVERT(VARCHAR,[RelationID]) FROM tbiz_ProjectRelation t WHERE ProjectID = t1.ProjectID FOR XML PATH('')), 1, 1, '') FROM tbiz_ProjectRelation t1
Step2
SELECT ProjectID , RelationIDs = STUFF(( SELECT ',' + CONVERT(VARCHAR,[RelationID]) FROM tbiz_ProjectRelation t WHERE ProjectID = t1.ProjectID FOR XML PATH('')), 1, 1, '') FROM tbiz_ProjectRelation t1 GROUP BY ProjectID
Step3
SELECT ProjectID , RelationIDs = STUFF(( SELECT ',' + CONVERT(VARCHAR,[RelationID]) FROM tbiz_ProjectRelation t WHERE ProjectID = t1.ProjectID FOR XML PATH('')), 1, 1, ''), COUNT([RelationID]) AS [COUNT] FROM tbiz_ProjectRelation t1 GROUP BY ProjectID
相关文章推荐
- 利用 T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符
- SQL - for xml path('') 实现多行合并到一行, 并带有分隔符
- 使用自连接、for xml path('')和stuff合并显示多行数据到一行中(转)
- 利用 T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符
- 公交查询系统(笔记)--T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符
- SqlServer实现oracle10g的 wmsys.wm_concat()/使用自连接、for xml path('')和stuff合并显示多行数据到一行中
- SQL 将一列多行数据合并为一行 FOR XML PATH
- SQL Server FOR XML PATH 语句的应用
- T-SQL系列之合并多行查询数据到一行:FOR XML PATH
- 合并多行查询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数
- https://sqlwhisper.wordpress.com/2013/03/24/stuff-and-for-xml-path-for-string-concatenation/
- 【T-SQL系列】FOR XML PATH 语句的应用
- [转]SQL Server FOR XML PATH 语句的应用
- [转]合并多行查询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数
- SQL Server FOR XML PATH 语句的应用---列转行
- SQL Server FOR XML PATH 语句的应用
- SQL Server FOR XML PATH 语句的应用
- sqlserver FOR XML PATH 语句的应用[转]
- 使用SQL SERVER FOR XML PATH将多个结果集转换成一行并进行去重处理
- Sql Server STUFF与FOR XML PATH