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

怎么合并相同的数据,具体请看说明.多谢

2012-01-20 
如何合并相同的数据,具体请看说明.谢谢.在线等有如下数据:序号生产号01001239020012490100124803001258现

如何合并相同的数据,具体请看说明.谢谢.在线等
有如下数据:

序号             生产号      
01                 001239
02                 001249
01                 001248
03                 001258

现在我想要的结果是:
序号             生产号      
01                 001239/001248
02                 001249            
03                 001258    

这个怎么搞?请教各位,谢谢啦!            


[解决办法]
参考:

--生成测试数据
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)
as
begin
declare @ret varchar(8000)
set @ret = ' '
select @ret = @ret+ ', '+人员 from 表 where 部门 = @department
set @ret = stuff(@ret,1,1, ' ')
return @ret
end
go


--执行
select 部门,人员=dbo.f_str(部门) from 表 group by 部门 order by 部门
go

--输出结果
/*
部门 人员
---- --------------
1 张三,李四,王五
2 赵六,邓七,刘八
*/


--删除测试数据
drop function f_str
drop table 表
go

热点排行