一句是不行的,除非用自定义函数就可以只要一句。
create function fmerg()
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+','+字段 from 表A 
set @str=right(@str,len(@str)-1)
return(@str)
End
go--调用自定义函数得到结果
insert 另一个表 select dbo.fmerg() from 表A

解决方案 »

  1.   

    Declare @str varchar(8000)
    @str=''
    select @str=@str+' '+某个字段 from 表1
    insert into 表2(字段) values(@str)
      

  2.   

    1,建自定义函数
    Create function getstr(@id Nchar(100))
    returns Nvarchar(4000)
    as 
    begin
    declare @str Nvarchar(4000),@分隔符 Nvarchar(10)
    set @分隔符=N','
    set @str=N''
    select @str=@str+rtrim(Col)+@分隔符 from 表名
    --------------------------------^^^^要相加的字段名
    where 相加条件字段=@id
    set @str=left(@str,len(@str)-1)落 ---却除最后一个分隔符
    return @str
    end
    GO2,调用
    select 条件字段,dbo.getstr(条件字段) from 表名 group by 条件字段
      

  3.   

    1:定义函数
    create function GetAllFields()
    returns varchar(8000)
    as
    begin
      declare @str varchar(8000)
      set @str=''
      select @str=@str+ isnull(cast(字段 as varchar(100)),'') from 表1
      return(@str)
    End
    go2:调用
    insert 表2(你要合并的字段) select dbo.GetAllFields() from 表2