2010-04-17 126 views
2

我需要提取兩個團隊的名稱,從同一個表中抽取兩個團隊的SQL SELECT語句。例如低於在SELECT語句中從相同表中獲取兩個項目

SELECT sport_activity_id, (team A), (team B), date, time 
FROM sportactivity, teams 
WHERE competition_id_fk = 2 

對於(團隊A)和(B隊),我有一個TEAM_ID,這是一個FK表「團隊」

是否有可能得到這些表由以下結果SQL? 1,巴塞羅那,阿森納,01/01/2000,20:00

兩個表如下:

表sportactivity

sport_activity_id, home_team_fk, away_team_fk, competition_id_fk, date, time 

(元組的例子) - > 1, 33,41,如圖5所示,2010-04-14,5時40分○○秒

表隊

team_id, team_name 

(元組爲例) - > 1,阿爾及利亞

回答

3

是的,你只需要與團隊加盟兩次:

SELECT sport_activity_id, T1.team_name, T2.team_name, date, time 
FROM sportactivity 
JOIN teams T1 ON home_team_fk = T1.team_id 
JOIN teams T2 ON away_team_fk = T2.team_id 
WHERE competition_id_fk = 2 
+0

靶心!感謝:o) – mouthpiec 2010-04-17 19:09:07

1
SELECT sport_activity_id, teamA.team_Name, teamB.team_Name, date, time 
FROM sportactivity 
INNER JOIN teams teamA ON sportactivity.home_team_fk = teamA.team_ID 
INNER JOIN teams teamB ON sportactivity.away_team_fk = teamB.team_ID 
WHERE competition_id_fk = 2