如何通过查询更新表的多行?并且仅在存在时更新

时间:2019-06-07 18:24:49

标签: sql sql-server

我有一个需要从查询中更新的表,并且仅在目标表中的记录存在时检查更新。

来源:

Id    Name
1     John Doe
2     Jane Doe

目标:

1     No Name 1
2     No Name 2

我希望根据其ID替换名称。如何编写查询以根据源更新目标,并检查目标上的ID是否存在(不确定是否有必要)

谢谢。

2 个答案:

答案 0 :(得分:1)

这是您想要的吗?

ActionChains(driver).move_to_element(element).double_click(element).perform()

答案 1 :(得分:1)

如果没有连接,则无法对行进行更新,可以对update进行join。请注意,id中的source应该为unique,否则,如果一个ID有两个名称,则将随机选择一个。

update t
set name = s.name
from target as t 
join source as s
    on s.id = t.id;