SQL将一列多行数据合并
2016-11-29 13:54
218 查看
SQL2005以上
用到两个方法 stuff 和 for xml path
stuff :
stuff(param1, startIndex, length, param2)
说明:将param1中自startIndex(SQL中都是从1开始,而非0)起,删除length个字符,然后用param2替换删掉的字符
for xml path:
它就是将查询结果集以XML形式展现
l两个方法组合就可以将多行合并
具体的SQL:
SELECT DISTINCT
VisitID ,
STUFF(( SELECT ',' + DiagDesc
FROM dbo.Pat_Diagnose
WHERE VisitID = a.VisitID
FOR
XML PATH('')
), 1, 1, '') AS DiagDesc
FROM dbo.Pat_Diagnose AS a;
用到两个方法 stuff 和 for xml path
stuff :
stuff(param1, startIndex, length, param2)
说明:将param1中自startIndex(SQL中都是从1开始,而非0)起,删除length个字符,然后用param2替换删掉的字符
for xml path:
它就是将查询结果集以XML形式展现
l两个方法组合就可以将多行合并
具体的SQL:
SELECT DISTINCT
VisitID ,
STUFF(( SELECT ',' + DiagDesc
FROM dbo.Pat_Diagnose
WHERE VisitID = a.VisitID
FOR
XML PATH('')
), 1, 1, '') AS DiagDesc
FROM dbo.Pat_Diagnose AS a;
相关文章推荐
- T_SQL 将一列多行数据合并为一行
- T_SQL 将一列多行数据合并为一行
- sql 多行转多列,多行转一列合并数据,列转行
- SQL 将一列多行数据合并为一行 FOR XML PATH
- T_SQL 将一列多行数据合并为一行
- T_SQL 将一列多行数据合并为一行
- SQL 语句行数据拆成多行及多行数据合并成一行的方法
- 单实用SQL脚本Part:sql多行转为一列的合并问题
- (转载)SQL 2005 当我们想将某个字段相同的几行数据合并为一列显示的时候 合并列值
- 分别使用函数及游标实现SQL多行转一列(文本合并)
- 简单实用SQL脚本Part:sql多行转为一列的合并问题
- sqlserver中,如何把一列中的多行数据在一行显示
- sql把多行数据合并成一行For xml path
- SQL]合并一个表里面的的多行数据(如果不重复则合并,如果重复则舍弃)
- MS-SQL 多行数据合并为一行
- (转载)SQL 2005 当我们想将某个字段相同的几行数据合并为一列显示的时候 合并列值
- sql多行转为一列的合并问题
- oracle 建表 造数据 存储过程 创建数据库的远程连接 以及一列的多行合并
- sql多行转为一列的合并
- SQL 2005 当我们想将某个字段相同的几行数据合并为一列显示的时候 合并列值