2015-06-23 82 views
1

嗨,我有兩個表,一個名爲團隊和另一個名爲時間表加入兩個共享多對一的SQL查詢表

在計劃表具有以下屬性:idawayhomedate ...其中客場和主場的外鍵的團隊表。

Team表具有以下屬性:nameid

我的目標是加入團隊和計劃,以便schedule.id,away,awayTeamName,home,homeTeamName,date都在同一個查詢中。這是我迄今爲止

SELECT `GAME_ID` , `AWAY` , TEAM.NAME AS awayName, `HOME`, `LEVEL` , 
`LOCATION` , `DATE` 
FROM SCHEDULE 
INNER JOIN TEAM ON SCHEDULE.AWAY = TEAM.TEAM_ID 
OR SCHEDULE.HOME = TEAM.TEAM_ID 

和輸出我得到的是這樣的事情

GAME_ID | AWAY | awayName | HOME | LEVEL | LOCATION | DATE 
1  | 2 | name1 | 3 |varsity| @home | 06/22/2015 

但我希望它看起來像這樣

GAME_ID | AWAY | awayName | HOME | homeName| LEVEL | LOCATION | DATE 
1  | 2 | name2 | 3 | name3 |varsity| @home | 06/22/2015 

如果有人能幫助我將不勝感激

+0

您需要另一個'INNER JOIN'和'Team'表(使用不同的別名)。 –

+0

你能提供這些數據嗎?您只會顯示您想要的結果,但您的源數據缺失。 – Gene

回答

0

您可以有多個連接。

SELECT SCHEDULE.GAME_ID , away.AWAY, away.NAME AS awayName, home.HOME , home.NAME AS homeName, LEVEL , 
LOCATION , DATE 
FROM SCHEDULE 
INNER JOIN TEAM as away ON SCHEDULE.AWAY = TEAM.TEAM_ID INNER JOIN TEAM as home ON 
SCHEDULE.HOME = TEAM.TEAM_ID 

它會是這樣的。

+0

感謝您的幫助 – Alan

0
INNER JOIN TEAM as home ON SCHEDULE.HOME = TEAM.TEAM_ID 

將此添加到您的查詢結尾,這會給您兩個完全合法的內部連接。

只要你有兩個以上的表格在將來處理,你應該能夠找到這個有用的。

inner joins on more than 2 table