Scratch Geschrieben 9. August 2005 Teilen Geschrieben 9. August 2005 Hi, habe mal eine Frage bezüglich SQL: habe 2 Tabellen: person id name 1 Hans 2 Klaus 3 Ralf liste p1 p2 1 2 2 1 3 1 Die Spalten P1 und P2 enthalten jeweils die ID's aus der person Tabelle Wie muss ich jetzt die Tabellen abfragen damit ich als Ergebnis folgendes bekomme: ergebnis p1 p2 Hans Klaus Klaus Hans Ralf Hans Mit SELECT person.name FROM person,liste WHERE person.id=liste.p1 bekomm ich nur die Namen der ersten Spalte angezeigt. Ich weiss jetzt leider nicht wie ich weitermachen muss um auch Spalte p2 in Namen umzuwandeln. Sollte ja gehen. Danke!! Gruß Scratch Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 9. August 2005 Teilen Geschrieben 9. August 2005 Welches ®DBMS? Falls MySQL: SELECT b.name,c.name FROM liste AS a LEFT JOIN person AS b ON b.id=a.p1 LEFT JOIN person AS c ON c.id=a.p2 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AxlHammer Geschrieben 9. August 2005 Teilen Geschrieben 9. August 2005 Hallo, wie wär es mit dieser Lösung: select ps1.name, ps2.name from person [as] ps1 , person [as] ps2 , liste [as] l where l.p1 = ps1.id and l.p2 = ps2.id; Ansonsten wie bereits geschrieben, bitte die Datenbank mit angeben. Gruss, Axl Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Scratch Geschrieben 9. August 2005 Autor Teilen Geschrieben 9. August 2005 Danke! funktioniert beides! MySQL war die DB Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zirri Geschrieben 11. August 2005 Teilen Geschrieben 11. August 2005 funktioniert beides! Ersteres ist ja auch die elegantere Schreibweise von zweiterem... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 11. August 2005 Teilen Geschrieben 11. August 2005 Und ersteres zeigt Dir NULL an, bei Namen, die in der Zuordnungstabelle in einem der beiden Attribute enthalten sind, aber keinen entsprechenden Eintrag in der Namenstabelle haben, weil LEFT JOIN. Wenn Du also wirklich nur die Zuordnung zweier Namen haben willst, Die es beide auch in der Namenstabelle gibt, dann nimm das Statement von AxlHammer, z.B. wenn die Inhalte deiner Zuordnungstabelle inkonsistent sind ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.