sql server 2008 使用 for xml path 实现类似 oracle 的 concat 函数
2013-05-13 14:17
579 查看
1. 列出所有数据
select * from test
![](http://img.blog.csdn.net/20130513141605790)
2. 合并,带有多余的逗号
SELECT name,
(SELECT value+',' FROM test
WHERE name=A.name
FOR XML PATH('')) AS StuList
FROM test A
GROUP BY name
![](http://img.blog.csdn.net/20130513141609868)
3. 最终效果
SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby FROM (
SELECT sName,
(SELECT hobby+',' FROM student
WHERE sName=A.sName
FOR XML PATH('')) AS StuList
FROM student A
GROUP BY sName
) B
![](http://img.blog.csdn.net/20130513141613399)
参考资料:
[1] 灵活运用 SQL SERVER FOR XML PATH. http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html
select * from test
2. 合并,带有多余的逗号
SELECT name,
(SELECT value+',' FROM test
WHERE name=A.name
FOR XML PATH('')) AS StuList
FROM test A
GROUP BY name
3. 最终效果
SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby FROM (
SELECT sName,
(SELECT hobby+',' FROM student
WHERE sName=A.sName
FOR XML PATH('')) AS StuList
FROM student A
GROUP BY sName
) B
参考资料:
[1] 灵活运用 SQL SERVER FOR XML PATH. http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html
相关文章推荐
- SQL Server 2008 R2——使用FOR XML PATH实现多条信息按指定格式在一行显示
- SqlServer实现oracle10g的 wmsys.wm_concat()/使用自连接、for xml path('')和stuff合并显示多行数据到一行中
- oracle wmsys.wm_concat ;sqlserver FOR XML PATH
- SQL Server 中利用STUFF和FOR XML PATH()实现多行数据的拼接
- mssql的 for xml path 与 mysql中的group_concat类似MSSQL For xml Path
- 使用 FOR XML PATH 合并SQL Server查询结果的重复行
- Sql Server合并多行询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数
- Oracle: wmsys.wm_concat、sys_connect_by_path、自定义函数实现行列转换
- Oracle: wmsys.wm_concat、sys_connect_by_path、自定义函数实现行列转换
- Sql Server合并多行询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数
- Sql Server合并多行询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数
- sql for xml path用法 以及sqlserver中实现类似wm_contact效果
- sql server 使用for xml path 将1列多行转换为字符串连接起来
- SQL Server 【CTE + FOR XML PATH】使用笔记~
- Sql Server合并多行询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数
- sql server 使用for xml path 将1列多行转换为字符串连接起来
- Oracle: wmsys.wm_concat、sys_connect_by_path、自定义函数实现行列转换
- 问题:sqlserver有没有类似Oracle的LISTAGG;结果: 灵活运用 SQL SERVER FOR XML PATH
- sql server 使用for xml path 将1列多行转换为字符串连接起来,俗称 sql 合并字符
- sql server 使用for xml path 将1列多行转换为字符串连接起来