Rouven: 2 SQL Abfragen kombinieren

Beitrag lesen

Hello,

das Handbuch sollte dir da eigentlich direkt zeigen, wie es falsch und richtig aussieht:
---
 Ferner muss, wenn einer zu sortierenden Spalte ein Alias zugewiesen wird, die ORDER BY-Klausel den Alias und nicht den Spaltennamen referenzieren. Die erste der folgenden Anweisungen funktioniert – im Gegensatz zur zweiten, die mit dem Fehler Unknown column 'a' in 'order clause'  fehlschlägt:
---

Falsch:
(SELECT a AS b FROM t) UNION (SELECT ...) ORDER BY a;
du kannst nicht nach "a" sortieren, da es außerhalb des UNION nicht mehr adressiert werden kann

Richtig:
(SELECT a AS b FROM t) UNION (SELECT ...) ORDER BY b;
Du vergibst für die Spalte a einen Aliasnamen "b", nach dem du nun sortieren kannst.
Ich vermute zudem, auch wenn nicht explizit genannt und von der Nachvollziehbarkeit her ein Alptraum, dass du auch den Index der Sortierspalte angeben kannst, also etwa ORDER BY 1

MfG
Rouven

--
-------------------
sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
"I wish it need not have happened in my time" - "So do I, and so do all who live to see such times. But that is not for them to decide. All we have to decide is what to do with the time that is given us."  --  J.R.R. Tolkien: "The Lord Of The Rings: The Fellowship Of The Ring"