我有2个表,A和B,都有ID和Value。 (使用SQL Server)
A:
ID VALUE
=========== ==========
1 A
2 A
2 D
B:
ID VALUE
=========== ==========
1 C
2 D
更新后,我希望A看起来像:
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
当值不等于时,是否只有更新?
我想只更新不相等的行的原因是跟踪修改的内容。
感谢。
答案 0 :(得分:1)
认为这应该对你有用
UPDATE A
SET A.Value = B.Value
FROM B
WHERE A.ID = B.ID AND A.Value <> B.Value
示例https://data.stackexchange.com/stackoverflow/query/edit/380722#resultSets