Det er ikke nødvendigt at pakke det med en anden CASE/COALESCE/IFNULL eller noget, bare brug CASE EXPRESSION ELSE , hvis alle betingelserne ikke er opfyldt, ELSE vil blive brugt.
UPDATE users
SET reputation = reputation +
CASE WHEN id = ? THEN 2
WHEN id = ? AND NOT ? THEN 15
ELSE 0
END
WHERE id IN (?, ?);