SQL Server更新表(用一张表的数据更新另一张表的数据)

时间:2022-08-08 09:16:13

a) 写法轻松,更新效率高:

  update table1

  set field1=table2.field1,field2=table2.field2

  from table2 where table1.id=table2.id

或者写成:

  update table1

  set field1=b.field1,field2=b.field2 from table2 b

  where id=b.id

b) 常规方式,这种写法相当于一个 Left join, 以外面的where为更新条数,如果不加where就是所有记录

  update table1 set field1=

  (select top 1 field1 from table2 where table2.id=table1.id)

  where table1.id in (condition)