yo,
Also, hier eine profikorrekte Lösung mit nur einem JOIN, nur einer Unterabfrage und mit UNION ohne ALL.
dann schauen wir doch mal, wie das ein profi macht.
a) war vorher nie die rede davon, dass du es in eine unterabfrage einbauen willst, sondern wir sprachen von joins und unions. wenn man die abfrage mit unterabfragen ganz ohne joins lösen kann, dann ist es wohl keine kunst unterabfragen in kombination mit union und nur einem join zu bilden.
b) fehlt mir die einschränkung nach den betreiber mit der kennzahl=100100
c) bekommst du nicht nur einen datensatz wie gefordert in der ergebnismenge sondern mehrere. in dessen folge würde sich dann auch das order by ersparen
d) macht es keinen sinn, bei union alias namen in allen abfragen mit anzugeben, das dbms nimmt sowieso nur die spaltenbezeichner aus der ersten abfrage.
e) habe ich dich bereits darauf hingewiesen, dass der union überflüssig ist und man hier besser einen union all einsetzt. ein union versucht immer doppelte werte der unionmenge zu filtern. das ist hier gar nicht gewollt und kostest somit unnütze performance und birgt die potentiale gefahr, dass gewünschte ergebnisse nicht in der ergebnismenge auftauchen.
-- ab hier beziehe ich mich auf deinen anderen post
f) ich starke zweifel daran habe, das meine abfrage mit den unterabfragen nicht performant sein soll, im gegenteil würde es mich wundern, wäre sie nicht die schnellste.
g) wenn du schon syntaktische fehler findest, sie dann auch beim namen nennst und nicht irgendwelche behauptungen in dem raum stellst.
Ilja