Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

SQL-Befehl

Lumens77 / 6 Antworten / Flachansicht Nickles

Hallo,
ich habe zwei Tabellen mit folgenden Feldern.

Fach:
Fach, Dozent1, Dozent2, Dozent3, Dozent4

Dozenten:
ID, Name

Die Felder Dozent1 - Dozent4 aus Tabelle Fach referenzieren auf die ID von der Tabelle Dozenten.
Ich möchte quasi ein "SELECT * FROM Fach" machen, wobei ich einen Ergebnissatz bekomme, in welchem aber statt Dozent1 - Dozent4 die Namen der Dozenten drinne stehen aus der Tabelle Dozent.
Wie mache ich das?


Gruß,
Jürgen

bei Antwort benachrichtigen
Antwort Borlander
d-oli Lumens77 „SQL-Befehl“
Optionen

Hi

Schon rausgefunden? Ansonsten probier mal das:

SELECT F.fach
     , D1.name
     , D2.name
     , D3.name
     , D4.name
   FROM
   (
      (
         (
            fach AS F
            JOIN dozent1 AS D1
              ON F.dozent1 = D1.id
         )
         JOIN dozent2 AS D2
           ON F.dozent2 = D2.id
      )
      JOIN dozent3 AS D3
        ON F.dozent3 = D3.id
   )
   JOIN dozent4 AS D4
    ON F.dozent4 = D4.id
;

Je nach RDBMS kannst oder musst du 'AS' weglassen.
Wie Borlander bereits gesagt hat: Ein Join reicht nicht aus ...

Gruss, d-oli

Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen