我有一个列如下的表。。
身份证件
人员1
人员2
假设有两个记录有值。。。

id1 - 2222 - 4444
id2 - 3333 - 6666

我想修改值为“4444”、id为“id1”的单元格的值

最佳答案

只能在更新相应列时使用case表达式:

UPDATE mytable
SET    person1 = CASE person1 WHEN '4444' THEN 'new value' ELSE person1 END,
       person2 = CASE person2 WHEN '4444' THEN 'new value' ELSE person2 END
WHERE  id = 'id1' AND
       '4444' IN (person1, person2)

10-06 05:37