SQL 将相同记录的所有数据合并为一个字段
2012-10-11 16:43
387 查看
相同姓名的n行记录合并在一个字段,按不重复姓名输出
Sql Code
另附:SQL Server FOR XML PATH 语句的应用
Sql Code
declare @t table (t varchar(10) ,n varchar(8)) insert into @t select '2012/7/20', '张三' union all select '2012/7/21' ,'张三' union all select '2012/7/20' ,'李四' union all select '2012/7/20', '王二' union all select '2012/7/24' ,'麻子' union all select '2012/7/20', '赵四' union all select '2012/7/26', '王二' union all select '2012/7/27', '麻子' select * from @t select n, [ts]=stuff((select '|'+[t] from @t t where n=tb.n for xml path('')), 1, 1, '') from @t tb group by n /* (8 行受影响) t n ---------- -------- 2012/7/20 张三 2012/7/21 张三 2012/7/20 李四 2012/7/20 王二 2012/7/24 麻子 2012/7/20 赵四 2012/7/26 王二 2012/7/27 麻子 (8 行受影响) n ts -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 李四 2012/7/20 麻子 2012/7/24|2012/7/27 王二 2012/7/20|2012/7/26 张三 2012/7/20|2012/7/21 赵四 2012/7/20 (5 行受影响) */
另附:SQL Server FOR XML PATH 语句的应用
相关文章推荐
- [MSSQL]SQL疑难杂症实战记录-巧妙利用PARTITION分组排名递增特性解决合并连续相同数据行
- [sql] 查询一个表中 三个字段都相同的记录
- 如何用一条SQL语句,将多条记录(一个字段)合并为一个?
- SQL 2005 当我们想将某个字段相同的几行数据合并为一列显示的时候 合并列值
- 如何用SQL语句查询一个数据表所有字段的类型
- sql中删除冗余数据和一个叫department的表,里面只有一个字段name,一共有4条纪录,分别是a,b,c,d,对应四个球对,现在对列出所有组合等sql面试题
- sql语句——不同的表根据相同的字段值将两个表指定的字段合并为一个表
- (转载)SQL 2005 当我们想将某个字段相同的几行数据合并为一列显示的时候 合并列值
- 查询数据表中某字段值是否有多条记录相同的sql语句
- SQL:数据表给定字段的多行记录的合并
- 如何查询一个数据库表中某字段相同记录的数据
- 一个表的两个字段具有相同的类型。如何仅用SQL语句交换这两列的数据?
- SQL语句 删除表user 中字段name 内容重复的记录,A表 ,B表 字段相同 有关联关系的表 对表两个表中的数据
- 同一个数据库里,两个相同字段但是顺序不同的数据表合并教程
- sql删除一个表中除了编号以外其他字段都相同的冗余记录
- SQL 同一张表中相同字段的内容合并为一条记录(不同字段的那一列每个记录后面加逗号)
- sql 把a表的数据插入b表中,where某一个字段相同
- SQL 合并多行记录的相同字段值
- 合并相同记录字段数据