MySQL: Mehrfachjoin
Jens@frustriert
- datenbank
Hallo zusammen!
Es geht um SQL-Basics, und ich finde keinen Weg, ein Ergebnis mit einem Join zu bekommen.
Gegeben sind drei Tabellen:
Inhalte wie folgt:
Im folgenden Join beschränke ich mich auf die Daten der Empfängeradresse:
SELECT BestellungID, AdresseID, Strasse, PLZ, Stadt, Land
FROM Bestellungen JOIN Adressen JOIN Laender
ON AdresseID = EmpfaengeradresseID
AND Laender.LandID = Adressen.LandID
AND BestellungID = 1001
Zur Bestellung 1002 würde ich aber gern Liefer- UND Empfängeradresse in einem Ergebnisdatensatz darstellen - wie stelle ich das an? Einmal muss ich AdresseID auf EmpfaengeradresseID beziehen und einmal auf LieferadresseID. Hab auch leider kein passendes Beispiel gefunden...
Danke vorab für Vorschläge!!
Toll, Bilderlinks funktionieren ja super...
Tabellen:
http://img252.imagevenue.com/img.php?image=th_65794_Tabellen_122_540lo.jpg
...oder in Textform:
Bestellungen:
BestellungID
LieferadresseID
EmpfaengeradresseID
Adressen:
AdresseID
Adresse
Strasse
PLZ
Stadt
LandID
Laender:
LandID
Land
und Inhalte:
http://img107.imagevenue.com/img.php?image=65793_Inhalte_122_152lo.jpg
ach ja - passend zu diesem Beispiel die Lösung für alle Interessierten:
SELECT BestellungID, T1.AdresseID AS ID_Lieferadresse, T1.Strasse, T1.Stadt, L1.Land, T2.AdresseID AS ID_Empfaengeradresse, T2.Strasse, T2.Stadt, L2.Land
FROM Bestellungen JOIN Adressen AS T1 JOIN Laender AS L1 JOIN Adressen AS T2 JOIN Laender AS L2
ON T1.AdresseID = LieferadresseID
AND T2.AdresseID = EmpfaengeradresseID
AND L1.LandID = T1.LandID
AND L2.LandID = T2.LandID
AND BestellungID = 1002
Hallo,
Es geht um SQL-Basics, und ich finde keinen Weg, ein Ergebnis mit einem Join zu bekommen.
Zur Bestellung 1002 würde ich aber gern Liefer- UND Empfängeradresse in einem Ergebnisdatensatz darstellen - wie stelle ich das an? Einmal muss ich AdresseID auf EmpfaengeradresseID beziehen und einmal auf LieferadresseID. Hab auch leider kein passendes Beispiel gefunden...
das sollte kein Problem mehr sein, wenn Du meinen Artikel in SELFHTML aktuell
Fortgeschrittene Jointechniken
durchgelesen hast. Die Abschnitte Selfjoin und Mehrfachjoin, gleiche Joinspalte gehen auf ein analoges Beispiel ein.
Freundliche Grüße
Vinzenz
perfekt, ich hätte genauer hinsehen sollen! Vielen Dank!!