Hallo Sven,
Ein Riesenaufwand, um die Tabelle aufzubauen - vor allem, wenn hinterher nur eine Zeile zu finden ist. Eine Million Zeilen durchsuchen, um eine Zeile zu finden, obwohl nur ein Kriterium (nämlich a.a='x') geprüft wird, ist Wahnsinn.
Da hast du mich wohl vor einem großen Fehler bewahrt! Mir war der Unteschied zwischen einer solchen Anfrage und einem JOIN nicht bewusst (entweder kam das in meinem MySQL-Buch nicht vor oder ich habe es überlesen).
Ansonsten ist eventuell zu prüfen, ob nicht drei SELECT-Statements schneller sind, als ein dreifacher JOIN. Richtig relevant wird das aber erst, wenn es um Performance geht (sollte deine Abfrage wirklich häufig vorkommen und große Tabellen durchsuchen).
Das werde ich dann mal machen.
Viele Grüße und danke (auch Hendrik),
Erik