Hallo,
kann mir jemand bei diesem Problem weiter helfen? Wie müsste die Query aussehen?
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| Table A ID Bezeichnung Kennzeichen 1 WagenA MK-D 744 2 WagenB MK-KH 565 3 WagenC MK-DD 545
Table B ID Tour_ID Hin Zurück 1 3 1 3 |
Hier meine Versuch:
SQL-Anweisung
1: 2: 3: 4: 5: 6:
| SELECT TableA.Bezeichnung As Hin, TableA.Bezeichnung As Zurück FROM TableB RIGHT JOIN TableA ON (TableA.ID = TableB.Hin) AND (TableA.ID = TableB.Zurück) WHERE TableB.Tour_ID = 3 |
Ergebins soll eigentlich sein:
Hin Zurück
WagenA WagenC
Ergebnis ist leer. Warum weiss ich bzw. kann ich mir denken. Weil die Felder Hin und Zurück für Select eins sind und das Ergebnis in beiden Felder gleich wäre wenn ich AND (TableA.ID = TableB.Zurück) weglassen würde.
Nur wie komme ich zu meinem Ergebnis?
Gruß
---
Moderiert von
Narses: Beiträge zusammengefasst---
Ok,
jetzt hab ich es selbst geschafft. Für die Nachwelt ...
SQL-Anweisung
1: 2: 3: 4: 5: 6: 7:
| SELECT DISTINCT a.Bezeichnung as Hin, b.Bezeichnung as Zurück FROM TableA as a, TableA as b INNER JOIN TableB ON (TableB.Hin = a.ID) INNER JOIN TableB ON (TableB.Zurück = b.ID) WHERE TableB.Tour_ID = 3 |
Moderiert von
Narses: SQL-Tags hinzugefügt