有两个表A,B,现在需要把A表一个字段的值改成B表一个字段的值
如:
A表
ID  Name ...
1    a
2    b
3    c
4    dB表
ID  Name  ...
3     a
4     b
5     c
6     d需把A表改成:
ID  Name ...
3    a
4    b
5    c
6    d

解决方案 »

  1.   

    Update A set A.ID=B.id
    from A inner join B on A.name=B.name
      

  2.   

    update a set a.id=b.id from a,b where a.name=b.name
      

  3.   

    --更新已有的
    Update A set A.ID=B.id
    from A inner join B on A.name=B.name
    --插入没有的
    insert into A select ID  ,Name  from b where  not exists (select 1 from a where id = a.id)
      

  4.   

    Update A set ID=B.id from B where name=B.name楼上的错误:
    FROM 子句中指定的表的别名不能作为 SET column_name 子句中的限定符使用
      

  5.   

    Update A set ID=B.ID Form B Where Name = B.Name