Autor Beitrag
Daniel775
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 22.09.11 19:40 
Hallo,

kann mir jemand bei diesem Problem weiter helfen? Wie müsste die Query aussehen?
ausblenden 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:
ausblenden 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 user profile iconNarses: Beiträge zusammengefasst---

Ok,
jetzt hab ich es selbst geschafft. Für die Nachwelt ...
ausblenden 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 user profile iconNarses: SQL-Tags hinzugefügt