Два отдельных обновления с участием разных столбцов в одном запросе SQL - PullRequest
0 голосов
/ 03 августа 2020
UPDATE users SET col1 = '' WHERE user_id IN (a, b)
UPDATE users SET col2 = '' WHERE user_id IN (c, d)

Можно ли написать один запрос обновления, который может дать тот же результат?

1 Ответ

4 голосов
/ 03 августа 2020

Вы можете использовать выражение case:

UPDATE users
    SET col1 = (CASE WHEN user_id IN (a, b) THEN '' ELSE col1 END),
        col2 = (CASE WHEN user_id in (c, d) THEN '' ELSE col2 END)
    WHERE user_id in (a, b, c, d);
...