ms_dos

  博客园  :: 首页  :: 新随笔  ::  :: 订阅 订阅  :: 管理
有下表:   

      单位名称                 收费类别  
              1                       a  
              1                       b  
              1                       d  
              2                       a        
              3                       b  
              3                         c   
要求查询结果显示如下   

      单位名称 收费类别  
            1                       a,b,d  
            2                           a  
            3                         b,c  

函数实现
create   function   getstr(@单位名称   int)  
  returns   varchar(2000)  
  as    
  begin  
  declare   @str   varchar(2000)  
  set   @str=''  
  select   @str=@str+','+rtrim(收费类别)   from   表   where   单位名称=@单位名称  
  select   @str=right(@str,len(@str)-1)   where   @str<>''  
  return   @str  
  end  
  go  
   
  --调用:  
  select   单位名称,dbo.getstr(单位名称)   收费类别     from   表   group   by   单位名称
posted on 2007-06-21 10:59  ms_dos  阅读(636)  评论(0编辑  收藏  举报