Abfrage über zwei Tabellen

Dream-Teacher

Benutzer
Beiträge
20
Liebe Expertinnen,

ich habe 3 Tabellen "User, Institution und Friends".
In der Tabelle User gibt es die Spalten
Code:
ID | Name

In der Tabelle Institution gibt es die Spalten
Code:
User (Relation zu ID aus User)|Name Institution

In der Tabelle Freund Friends steht
Code:
USER_ID_FRIEND1| USER_ID_FRIEND2

Wie kann ich nun eine Ausgabe erzeugen, die folgende Tabelle ausgbit:

Code:
ID_FRIND1|Insitutiton Friend1|ID_FRIND2|Insitution Frind2

? Danke Euch für Eure HIlfe
 
Werbung:
Ich würde sagen, etwas zu viel Vereinfachung. Die Namen sind auch nicht konstistent vergeben. Probleme, die sich dadurch ergeben, können in der Lösung auftreten.

Was solls, so inetwa.
Code:
select 
  user_id_friend1, i1.name, u1.name, user_id_friend2, i2.name, u2.name
  from friend f
  join user u1 on f.user_id_friend1 = u1.id
  join user u2 on f.user_id_friend2 = u2.id
  join institution i1 on i1.user = u1.id
  join institution i2 on i2.user = u2.id
 
Leider nur bedingt
Dann setze Dich damit auseinander:
Es gibt massig davon. Das sollte man als erstes lernen, bevor man eigene Tabellen bzw. Datenmodelle anlegt.
 
Ein wenig sonderbar erscheint hier, das die 1:n Beziehung zwischen User und Institut so angelegt ist, das ein User mehrere Institute haben kann aber ein Institut maximal einen User. Das kann sinnvoll sein, erscheint aber ungewöhnlich.

Daraus ergibt sich für deine Ausgabe (siehe Joins), das je User und Institut auf beiden Seiten je eine Ergebniszeile entsteht. Wenn also User1 zwei Institute hat und User2 hat Drei, dann macht das sechs Kombinationen im Ergebnis.
 
Werbung:
Tja, meine Antwort ist sehr nah an der Frage, wie kann ich diesen Mehrfachjoin bauen.
Der Sinn der Gesamtkonstruktion inkl. der nachgelieferten ID, das Fehlen von Foreign Key Angaben, .. macht das "Modell" sehr fragwürdig, vollkommen richtig.
 
Zurück
Oben