Hallo,
Der Korrektheit wegen:
Einen Alias, wie esvaluein diesem Fall ist, kann man nicht mit WHERE verknüpfen.
Es muss die HAVING-Syntax verwendet werden:
SELECT ... HAVINGvalueIS NOT NULL
Der Korrektheit wegen. HAVING gehört zu GROUP BY.
Die weitaus bessere Lösung findest Du in meinem Posting.
Und ja, der Korrektheit wegen ORDER BY COALESCE(<argumentenliste>) ...
Freundliche Grüße
Vinzenz