醉春风

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  21 随笔 :: 90 文章 :: 22 评论 :: 1 引用

  --生成测试数据  
  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


 

Tag标签: sql 合并字段
posted on 2008-05-29 13:35 醉春风 阅读(171) 评论(0)  编辑 收藏 所属分类: SQLSERVER