Nie trzeba owijać go kolejnym CASE/COALESCE/IFNULL
lub cokolwiek, po prostu użyj CASE EXPRESSION
ELSE
, w przypadku niespełnienia wszystkich warunków, ELSE
zostanie użyty.
UPDATE users
SET reputation = reputation +
CASE WHEN id = ? THEN 2
WHEN id = ? AND NOT ? THEN 15
ELSE 0
END
WHERE id IN (?, ?);