简易代码之家

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  157 Posts :: 2 Stories :: 57 Comments :: 0 Trackbacks

1.生成测试数据:
create table team(name varchar(32),person varchar(32));

insert into team values('A','Tom');
insert into team values('A','Jim');
insert into team values('A','Anny');
insert into team values('B','Ivy');
insert into team values('B','Henry');   
insert into team values('C','Dar');
insert into team values('C','Rk');
insert into team values('D','Cenic');

select * from team;


2.创建合并团队成员姓名自定义函数:
create   function   fun_combName(@teamname varchar(32))  
  returns   varchar(4000)  
  as  
  begin  
          declare @temp varchar(4000)  
          set @temp = ''  
          select @temp = @temp+';'+person from team where name = @teamname  
          set @temp = stuff(@temp,1,1,'')  
          return   @temp    
  end

3.执行查询语句:
select name,person = dbo.fun_combName(name) from team group by name order by name;


注:测试完可以删除测试数据:
drop function fun_combName;
drop table team;

posted on 2010-10-08 15:52 Jakin.zhou 阅读(3853) 评论(1)  编辑  收藏

Feedback

# re: 合并多条记录的同一字段值SQL语句 2010-10-10 12:42 kongbai
不知道楼主是用什么数据库。mysql有个group_concat函数可以达到想要的结果。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: