首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么合并相同ID的多条纪录

2012-01-11 
如何合并相同ID的多条纪录数据库 sqlserver,现有数据表结构如下:id name1 a1 b1 c2 d2 e3 f现在想合并得到

如何合并相同ID的多条纪录
数据库 sqlserver,现有数据表结构如下: 
id name 
1 a 
1 b 
1 c 
2 d 
2 e 
3 f 
现在想合并得到如下效果: 
id name 
1 a,b,c 
2 d,e 
3 f 
sql语句应该怎么写?

[解决办法]
参考以下示例:

SQL code
--生成测试数据create table 表(部门 int,人员 varchar(20))insert into 表 select 1,'张三'insert into 表 select 1,'李四'insert into 表 select 1,'王五'insert into 表 select 2,'赵六'insert into 表 select 2,'邓七'insert into 表 select 2,'刘八'go--创建用户定义函数create function f_str(@department int)returns varchar(8000)asbegin    declare @ret varchar(8000)    set @ret = ''    select @ret = @ret+','+人员 from 表 where 部门 = @department    set @ret = stuff(@ret,1,1,'')    return @ret endgo--执行select 部门,人员=dbo.f_str(部门) from 表 group by 部门 order by 部门go--输出结果/*部门  人员----  --------------1     张三,李四,王五2     赵六,邓七,刘八*/--删除测试数据drop function f_strdrop table 表go 

热点排行