Ein case Ausdruck kann nur einen einzigen Wert zurückgeben, also brauchen Sie zwei case Ausdrücke. Verwenden Sie außerdem einen einzelnen case Ausdruck für jeden statt zwei ineinander zu verschachteln:
SELECT * FROM Classes
GROUP BY
CASE
WHEN (1) THEN
Department_Code
WHEN (2) THEN
Department_Code
ELSE
Class_ID
END,
CASE
WHEN (2) THEN
Course_Code
ELSE
1
END