比较两个表中的列并更新差异(如果有)

时间:2013-04-10 12:48:40

标签: sql

表A

NAME        ID
---------------
Peter       45
Johny       46
Mary        47
Micheal     48
Elizabeth   49

表B

NAME        ID     Gender
-----------------------------
Peter       12       M
Johny       null     M
Mary        47       F
Micheal     48       M
Elizabeth   28       F

我想要一个更新查询来填充表B中的以下结果。

NAME        ID     Gender
-----------------------------
Peter       45       M
Johny       46       M
Mary        47       F
Micheal     48       M
Elizabeth   49       F

1 个答案:

答案 0 :(得分:0)

假设Name是唯一的,这里是一个起点,取决于您的RDBMS:

update b
set b.ID = a.ID
from TableA a
    join TableB b on a.Name = b.Name
where a.ID <> b.ID
    or b.ID is null
相关问题