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 (?, ?);