仅当不同时才从另一个 table 更新值

Updating value from another table only if different

我有 2 个表,A 和 B,都有 ID 和值。 (使用 SQL 服务器)

甲:

         ID VALUE
=========== ==========
          1 A
          2 A
          2 D

乙:

         ID VALUE
=========== ==========
          1 C
          2 D

更新后,我希望 A 看起来像:

甲:

         ID VALUE
=========== ==========
          1 C
          2 D
          2 D

我希望查询仅在值不相等时更新。例如,2 会更新到 D,但只会更新一次。总共影响2行。

目前我的查询是:

UPDATE A
SET A.Value= A.Value
FROM B
WHERE A.ID= B.ID

是否只有当值不等于时才更新?

我只想更新不相等的行的原因是为了跟踪修改的内容。

谢谢。

我认为这对您有用

UPDATE A
SET A.Value = B.Value
FROM B
WHERE A.ID = B.ID AND A.Value <> B.Value

例子https://data.stackexchange.com/Whosebug/query/edit/380722#resultSets