仅当不同时才从另一个 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
我有 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