2014-02-10 51 views
1

所以我不知道如何正確解釋這個詞,所以我只是解釋我想要做的。我創建了一個包含兩個表的數據庫,其中一個是在1-30之間列出的主鍵旁邊的NBA球隊列表。另一張表列出了包含Team1,Team2和Winner列的遊戲時間表,所有這些列都是外鍵(因此它們是1-30之間的數字)。我正在嘗試編寫一個查詢,它將時間表中的所有人都取出來,而不是從外鍵取數字1-30,我想要獲得實際的團隊名稱。使用表中的多個外鍵選擇一個主鍵

SELECT schedule.Date, schedule.GameTime, TEAMS.Team_name, TEAMS.Team_name, schedule.Team1_score, schedule.Team2_score, TEAMS.Team_name as Winner 
FROM schedule 
left join TEAMS on schedule.Team1 = TEAMS.Team_key 

這是我至今寫的,但我不知道怎麼才能得到其他球隊的名字,或者比較schedule.Winner = Teams.Team_key比較schedule.Team2 = TEAMS.Team_key以獲得贏家的名字。

因此,例如,現在我有:

日期時間TEAM1的Team2 Team1Score Team2Score得主

....... ........湖人湖人...... ............. ....................湖人隊

而不是我想要的將是:

日期時間Team1 Team2 Team1Score Team2Score得獎者

....... ....... 。湖人凱爾特人隊................... ....................凱爾特人隊

謝謝。

回答

0

好了,你有三個外鍵,所以你可以做如下:

SELECT t1.team_name AS team_one, 
    t2.team_name AS team_two, 
    t3.team_name AS winner FROM schedule s 
INNER JOIN teams t1 ON s.team1 = t1.team_key 
INNER JOIN teams t2 ON s.team2 = t2.team_key 
INNER JOIN teams t3 ON s.winner = t3.team_key 

你有3個連接到不同的別名同桌。

+0

哦,我明白了。非常感謝。 –

相關問題