2016-06-07 6 views
1

Ich habe zwei Tabellen Get: USER und THEMENmehrere Werte aus einer anderen Tabelle durch verschiedene Beziehungen

USER Tabelle

USER table

SUBJECT Tabelle

SUBJECT table

Subject1, SUBJECT2, SUBJECT3 aus der Tabelle USER sind Fremdschlüssel für die Spalten-ID in der Tabelle SUBJECT.

Ich versuche, eine SQL-Abfrage zu schreiben, die alle Spalten aus der ersten Tabelle mit den referenzierten Werten durch die Fremdschlüssel zurückgibt, um anzuzeigen, dass ein Benutzer (Lehrer) drei Themen gleichzeitig unterrichten kann. Ich mag im Ergebnis die Werte aus der zweiten Tabelle zu erhalten, wie folgt aus:

| ID | NAME | AGE | ADDRESS | SUBJECT1 | SUBJECT2 | SUBJECT3 | 
+----+-------+-----+---------+----------+----------+----------+ 
| 1 | John | 30 | London | Math  | English | Sports | 
| 2 | Marry | 40 | London | English | Sports | Biology | 
| 3 | Tom | 35 | Paris | English | Sports | Russian | 

Antwort

2

Versuche folgenden;)

select 
    u.ID, u.NAME, u.AGE, u.ADDRESS, s1.NAME as SUBJECT1, s2.NAME as SUBJECT2, s3.NAME as SUBJECT3 
from USER u 
left join SUBJECT s1 on u.SUBJECT1 = s1.ID 
left join SUBJECT s2 on u.SUBJECT2 = s2.ID 
left join SUBJECT s3 on u.SUBJECT3 = s3.ID 
+0

Thank you! Das funktioniert perfekt :) – ikken32

Verwandte Themen