2013-07-29 21 views
0

我有兩個表,一個帶有團隊名稱,另一個擁有用戶做出的各種選擇,每個都由團隊的team_id表示。我希望能夠顯示每個實際的團隊名稱,但無法弄清楚連接將如何工作。MySQL與相應的ID加入多個列

表1

USER_ID(INT),選擇1(INT),選擇2(INT),selection3(INT)

表2

TEAM_ID(INT),TEAM_NAME(VARCHAR)

回答

1

您需要三個連接:

select u.user_id, t1.team_name as team_name1, t2.team_name as team_name2, 
     t3.team_name as team_name3 
from users u left outer join 
    teams t1 
    on u.selection1 = t1.team_id left outer join 
    teams t2 
    on u.selection2 = t2.team_id left outer join 
    teams t3 
    on u.selection3 = t3.team_id; 
+0

t1,t2和t3代表什麼?只有一個球隊表。 –

+0

@KyleHagler。 。 。它們是表別名,也是SQL語言的重要組成部分。例如,他們讓你在查詢中多次使用同一張表 - 當你需要時。 –