create function getstr()
returns varchar(2000)
as 
begin
declare @str varchar(2000)
set @str=''
select @str=@str+F1 from t1
return @str
end
go--调用:
select dbo.getstr() 结果

解决方案 »

  1.   

    比如:
    t1
    ---------
    1    aa
    1    bb
    1    cc
    2    tt
    2    uu
    2    ff得到:
    1    aa,bb,cc
    2    tt,uu,ff
    create function getstr(@a int)
    returns varchar(2000)
    as 
    begin
    declare @str varchar(2000)
    set @str=''
    select @str=@str+','+(列2) from t1 where 列1=@a
    set @str=right(@str,len(@str)-1)
    return @str
    end
    go--语句:
    select 列1,dbo.getstr(列1) 列2  from t1 group by 列1
      

  2.   

    --不用变量,那就用函数得啦.
    create function f_getstr()
    returns varchar(8000)
    as
    begin
    declare @Str nvarchar(4000)
    set @str = ''
    select @str = @str + F1 from T1 
    return(@str)
    go
    --调用.
    select dbo.f_getstr()