create function getstr1(@content varchar(5))
returns varchar(2000)
as 
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(field2) from tableA
where a=@content
set @str=right(@str,len(@str)-1)
return @str
end
gocreate function getstr2(@content varchar(5))
returns varchar(2000)
as 
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(field3) from tableA
where a=@content
set @str=right(@str,len(@str)-1)
return @str
end
goselect field1,dbo.getstr1(field1) field2,dbo.getstr2(field1) field3  from table1 group by a,c

解决方案 »

  1.   

    create function getresult(@field varchar(10),@条件 varchar(10))
    returns varchar(100)
    as 
    begin
    declare @result varchar(100)
    set @result=''
    exec('select @result=@result+'@条件+'  from yourtable where '+@条件+'='+@field)
    return @result
    end调用
    select field1,dbo.getresult(field2,field2)field2,dbo.getresult(field3,field3) field3 from table 
      

  2.   

    pengdali(大力):好方法!用游标的话那就凡了