首先,定义一个自定义函数,实现字符串合并create function fmerg(@fd varchar(10))
returns varchar(8000)
as
begin
declare @re varchar(8000)
set @re=''
select @re=@re+Field2 from TableA where Field1=@fd
set @re=right(@re,len(@re)-1)
return(@re)
end
go

解决方案 »

  1.   

    接下来,调用这个自定义来生成你的TableB表select Field1,dbo.fmerg(Field1) as Field2
    into TableB
    from(select distinct Field1 from TableA) a--注意上面的调用方法,首先,得到不重复的Field1 ,再根据结果计算Field2
    这样避免很多重复计算.
      

  2.   

    create function fmerg(@fd varchar(10))
    returns varchar(8000)
    as
    begin
    declare @re varchar(8000)
    set @re=''
    select @re=@re+Field2 from TableA where Field1=@fd
    return(@re)
    end
    go--调用:
    select Field1,dbo.fmerg(Field1) from 表 group by Field1