yo,
Also warum gibt das hier KEINEN Fehler:
es liegt wie gesagt an der reihenfolge, wie das dbms deine abfrage ausführt. er verbindet ein tabelle nach der anderen miteinander. bei der anderen anweisung hat er einen LEFT JOIN anwenden wollen und dort kam eine spalte von einer tabelle vor, die er noch gar nicht eingebunden hatte. was bei impliziten joins vorne steht, muss noch lange nicht als erste tabelle von dem dbms genommen werden. oracle zum beispiel geht von rechts nach links bei impliziten joins vor.
dein problem entstand also durch die vermischung der impliziten schreibweise von JOINS in kombination mit OUTER JOINS. bei deiner zweite abfrage hast du nur explzitite JOINS, die so aufgebaut, dass die richtige reihenfolge eingehalten wird.
Ilja