Prova a eliminare il case
annidato . Forse fa la differenza per il compilatore per qualche motivo:
CASE
WHEN b.condition = 'ERROR' AND c.condition2 = 'ERROR' THEN d.condition3
WHEN b.condition = 'ERROR' THEN c.condition2
ELSE c.condition
END as current_condition,
...