2016-06-07 77 views
1

獲取從另一個表中的多個值,我有兩個表:USER和科目通過不同的關係

USER表

USER table

主題表

SUBJECT table

SUBJECT1,SUBJECT2,表USER中的SUBJECT3是表SUBJECT中列ID的外鍵。

我正在嘗試編寫一個SQL查詢,該查詢返回第一個表中所有列的外鍵引用值,以顯示一個用戶(教師)一次可以教授三個主題。我想在結果得到的值從第二個表,就像這樣:

| 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 | 

回答

2

嘗試以下;)

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

謝謝!這工作完美:) – ikken32