create function getstr(@fieldA Nchar(20))
returns Nvarchar(2000)
as 
begin
declare @str Nvarchar(2000)
set @str=N''
select @str=@str+N','+rtrim(fieldB) from tblA
where fieldA=@fieldA
set @str=right(@str,len(@str)-1)
return @str
end
GO调用:select distinct fieldA,dbo.getstr(fieldA) as fieldB from tbl

解决方案 »

  1.   

    create function getlist (@name varchar(5)) returns varchar(400)
    as
    begin  
      declare @list varchar (400)
      select @list=''
      select @list =@list + fieldB  from tblA where fieldA =@name
      return @list
    end
    go
    select fieldA ,dbo.getlist(fieldA) from tblA group by fieldA
      

  2.   

    to Haiwer(海阔天空) & sky_blue(老衲) ,
       这种做法oracle支持吗?谢谢
      

  3.   

    1、oracle应该不支持
    2、我的写错了,多了逗号。