用自定义函数:create function f_union(@groupid int)
returns varchar(100)
as
begin
  declare @sql varchar(100)
  set @sql=''
  select @sql=@sql+','+ID  from t where groupid=@groupid 
  return(stuff(@sql,1,1,''))
end
goselect groupid,id=dbo.f_union(groupid) as test from t group by groupid

解决方案 »

  1.   

    select groupid,id=dbo.f_union(groupid) from t group by groupid
      

  2.   

    --函数
    Create function SumStr(@GroupID varchar(10))
    returns varchar(200)
    as
    Begin
       declare @return varchar(200)
       set @return=''
       select @return=@return+','+职员工号 from 表 where GroupID=@GroupID
       return (stuff(@return,1,1,''))
    End
    --查询
    Select 
         GroupID,
         dbo.SumStr(GroupID) 
    from 表 
    group by GroupID
      

  3.   

    用自定义函数:create function f_union(@groupid int)
    returns varchar(100)
    as
    begin
      declare @sql varchar(100)
      set @sql=''
      select @sql=@sql+','+ID  from tb where groupid=@groupid 
      return(stuff(@sql,1,1,''))
    end
    goselect groupid,id=dbo.f_union(groupid) from tb group by groupid
      

  4.   

    yukon中可以用user-defined aggregates. 参考例子stringutilities