select name,id into #t1 from sysobjects where parent_obj=0 and id >100 and xtype='U' 
select name,id,colid from syscolumns where id in (select id from #t1) and id=1435079declare @s varchar(8000)
set @s=''
select @s=@s+','+name from syscolumns where id in (select id from #t1) and id=1435079
set @s=stuff(@s,1,1,'')--这是你要的值exec('insert into table1 ('+@s+')
select '+@s+' from table2')

解决方案 »

  1.   

    --把语句写在一块儿呢
    insert into table1 (chatid,roomid,username)
    select name,id,colid from syscolumns where id in 
    (select id from sysobjects where parent_obj=0 and id >100 and xtype='U' ) 
    and id=1435079
      

  2.   

    Declare  @S Nvarchar(1000)
    Select @S=''
    Select @S=@S+','+name from syscolumns where id=1435079 Order By ColID
    Select @S=Stuff(@S,1,1,'')
    EXEC('insert into table1 ('+@s+') select '+@s+' from table2')
      

  3.   

    都已经有了id=1435079 这个条件了,别的条件诸如(id in (select id from #t1))没有什么用了啊。