Hallo,
der Thread ist schon älter, aber ich bin jetzt erst darüber gestolpert.
Sollte der
SQL-Parser die ORDER BY Klausel bei Sets zulassen, die Teil einer UNION sind, dann wäre spätestens das Ergebnis wieder ungeordnet, da sich die Anordnung der Tupel in einem Result Set ohne ORDER BY von Lauf zu Lauf ändern darf.
MYSQL5 stellt aber durchaus sprachliche Möglichkeiten zur Verfügung, mit denen man das Problem lösen kann:
SQL-Code:
select * from aufgaben
order by erledigt desc, if(erledigt='erledigt', - CAST(datum as signed), CAST(datum as signed))
Die gewünschte Ordnung für das erste Sortierkriterium ist missverständlich formuliert und muss entsprechend angepasst werden.
Freundliche Grüße