2 (LEFT) JOINS über gleiche Tabellen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 2 (LEFT) JOINS über gleiche Tabellen?

    Hallo,

    Hätte da leider auch mal (wieder) ein Problem...

    Ich habe einen Chat und ein Forum, welche über verschiedene Tabellen laufen, diese möchte ich gerne verknüpfen.

    In der Tabelle "thread" werden der Autor (postusername), der letzte Poster (lastposter) usw. abgespeichert, in der Tabelle "users" die Daten wie der Name (nick) und die Farbe des users (farbe). Nun möchte ich gerne eine Abfrage machen, die mir sowohl vom letzten Autor (lastposter) aus der Tabelle users die Farbe liefert, als auch vom eigentlichen Autor (postusername), ebenfalls aus der Tabelle users. Meine Abfrage lautet wie folgt:

    Code:
    ...
    SELECT thread.replycount, thread.forumid, thread.postusername, thread.threadid, thread.title, thread.views, thread.lastpost, thread.lastposter, users.farbe FROM thread 
    LEFT JOIN users ON thread.lastposter = users.nick
    ...
    So, nun habe ich schon einmal die Farbe des letzten Autors, aber wie bekomme ich da nun noch die des eigentlichen Autors rein + in einer Variable gespeichert, da farbe ja schon mit der des lastposters belegt ist?! Bin leider noch nicht so bewandert in joins/mehrfachen Abfragen, deshalb stehe ich ja nun auch vor diesem Problem. Hoffe, mir kann jemand helfen. Ich bräuchte also quasi zusätzlich zu:

    LEFT JOIN users ON thread.lastposter = users.nick

    ein:

    LEFT JOIN users ON thread.postusername = users.nick

    um diese Farbe des Autors extra noch zu bekommen, so geht es aber leider nicht, mit 2 LEFT JOINS, da wird einfach gar nix angezeigt...!?

    Würde mich über einen Tipp bzw. hilfreiche Vorschläge, sehr freuen!

    LG
    Etienne

    Ps. Sorry für die etwas unpräzise Formulierung meines Topics, aber ich wusste net, wie ich es sonst nennen sollte...!

  • #2
    Problem gelöst, kann geschlossen und/oder gelöscht werden. Lösung:

    LEFT JOIN users t2 ON thread.lastposter = t2.nick
    LEFT JOIN users t3 ON thread.postusername = t3.nick

    Mit temporären Namen funzt es prima! Hätte ich auch gleich drauf kommen können, naja...manchmal sieht man halt den Wald vor lauter Bäumen nicht...

    Btw: warum ist dem eigentlich so...?

    LG,
    Etienne
    Zuletzt geändert von Etienne; 22.11.2003, 10:06.

    Kommentar

    Lädt...
    X