sql update语句根据不同条件修改不同列的值

一张表中有A、B、C、D四列。如果D的值是1,则修改A字段的值等于x。如果D的值是2,则修改B字段的值等于x。如果D的值是3,则修改C字段的值等于x。写一个sql

 

UPDATE table_name
SET A = CASE WHEN D = 1 THEN x ELSE A END,
    B = CASE WHEN D = 2 THEN x ELSE B END,
    C = CASE WHEN D = 3 THEN x ELSE C END
WHERE D IN (1, 2, 3)

你可能感兴趣的:(sql,数据库,mysql)