SQL-Abfrage für Anfänger

rhoenhasi

Grünschnabel
Hallo irgendwie krieg ich es nicht hin. Vieleicht kann mir ja mal jeman helfen.
3 Tabellen:

tbl_fahrer --- fahrer_id, name, vorname
tbl_rechnung --- fahrer_1_id, fahrer_2_id, fahrzeug_id
tbl_fahrzeug --- fahrzeug_id , kennzeichen




Ich möchte anhand der 'fahrzeug_id' die ich habe sagen wir mal '2', gerne den Namen und Vornamen von 'fahrer_1_id' und' fahrer_2_id' mit einer Abfrage bekommen. Ich beiss mir schon seit Stunden die Zähne aus. Datenbank ist MySQL. Für einen Tip wär ich sehr dankbar.
 
Zuletzt bearbeitet:
Du musst zwei Verknüpfungen (Left Join) mit der Tabelle Fahrer durchführen. Da dadurch eine Projektion der gewünschten Felder nicht eindeutig ist, weil MySQL nicht weiß, aus welcher der beiden (gleichen) Tabellen der Name gewählt wird, musst Du Aliasnamen für die Tabellen vergeben:
Code:
SELECT
  f1.name AS NameVonFahrer1,
  f1.vorname AS VornameVonFahrer1,
  f2.name AS NameVonFahrer2,
  f2.vorname AS VornameVonFahrer2
FROM
   tbl_rechnung
LEFT JOIN tbl_fahrer AS f1
  ON f1.fahrer_id=tbl_rechnung.fahrer_1_id
LEFT JOIN tbl_fahrer AS f2
  ON f2.fahrer_id=tbl_rechnung.fahrer_2_id
WHERE tbl_rechnung.fahrzeug_id=2
Gruß hpvw
 
Gern geschehen.
Vielen Dank auch an Dich; für die vorbildliche Problembeschreibung.
Wenn Du unten rechts das Thema noch als "Erledigt" markierst, ist es perfekt.

Gruß hpvw
 
Zurück