rodo: 2 Spalten einer Tabelle mit einer anderen komibinieren

Guten Tag!

Ich habe folgende Tabelle:

Taenzer: tanzid, nummer1, nummer2, erledigt

Beispiel: 1 ------ 26 ------- 14 ---- NULL

Benutzer: userid, username
Beispiel: 26--------Heinz
__________14--------Susanne

Nun möchte ich per MySQL Abfrage alle Spalten ermitteln, wo der Tanz noch nicht "erledigt" ist (erledigt = NULL) und dann mit nummer1 und nummer2 die Benutzertabelle joinen, sodass ich per PHP den Namen der beiden Partner ausgeben kann.

Kann mir da jemand helfen? Ich bekomme es nämlich nicht hin, dass ich die beiden Spalten mit der username Spalte der Benutzer-Tabelle kombiniere.

  1. Kann mir da jemand helfen? Ich bekomme es nämlich nicht hin, dass ich die beiden Spalten mit der username Spalte der Benutzer-Tabelle kombiniere.

    was hast du denn bez JOIN bisher verscuht? hört sich für mich jetzt nicht sonderlich schwierig an (auch wenn die tabelle nicht sauber normalisiert ist)

  2. yo ho,

    zwei kleine aufgaben, zum in der WHERE klausel bei NULL nicht auf gleichheit prüfen, sondern den operator IS benutzn. und dann zweimal auf die tabelle joinen (user), wo die namen drinne stehen.

    SELECT t.tanzid, u1.username, u2.username
    FROM Taenzer t
    INNER JOIN user u1 ON u1.userid = t.nummer1
    INNER JOIN user u2 ON u2.userid = t.nummer2
    WHERE t.erledigt IS NULL
    ;

    noch eine kleine anmerkung, wäre es nicht sinnvoller, deine tabelle taenzer in taenze abzuändern ?

    Ilja

  3. Mahlzeit rodo,

    Taenzer: tanzid, nummer1, nummer2, erledigt

    Beispiel: 1 ------ 26 ------- 14 ---- NULL

    Benutzer: userid, username
    Beispiel: 26--------Heinz
    __________14--------Susanne

    Nun möchte ich per MySQL Abfrage alle Spalten ermitteln,

    SELECT T.tanzid  
    ,      B1.username  
    ,      B2.username  
      FROM Taenzer       T
    

    und dann mit nummer1 und nummer2 die Benutzertabelle joinen,

      LEFT JOIN Benutzer B1 ON T.nummer1 = B1.userid  
      LEFT JOIN Benutzer B2 ON T.nummer2 = B2.userid
    

    wo der Tanz noch nicht "erledigt" ist (erledigt = NULL)

    WHERE T.erledigt IS NULL

    Kann mir da jemand helfen? Ich bekomme es nämlich nicht hin, dass ich die beiden Spalten mit der username Spalte der Benutzer-Tabelle kombiniere.

    Sooo schwer sollte das aber nach Lektüre der "Einführung in Joins" und ggf. "Fortgeschrittene Jointechniken" nicht sein, oder?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|