有表TB1 表TB2 两个表中各有十几个字段
想找出其中相同的字段TB1与TB2中的记录主键完全相同,如何在上面找的字段中,把TB1的内容修改成TB2的。要对应原来的主键

解决方案 »

  1.   

    select name from syscolumns where object_id('TB1')=id and name in(select name from syscolumns where object_id('TB2')=id)
      

  2.   

    declare @sql varchar(8000)
    select @sql=isnull(@sql+',','')+'a.['+a.name+']=b.['+b.name+']' from syscolumns a join syscolumns b on a.name=b.name where a.id=object_id('TB1') and b.id=object_id('TB2')
    exec ('update a set '+@sql+' from TB1 a join TB2 b on a.主键=b.主键')
      

  3.   

    比如说TB1和TB2的主键都是no 找出的相同字段是 H,G
    现在TB1和TB2中no的记录都是5条且完全相同 ,其中TB1中的H,G有记录  TB2的H,G也有记录,但记录不同
    我想把TB1中的H和G复制到TB2中no要对应