2010-04-17 4 views
2

I une instruction SQL SELECT J'ai besoin d'extraire le nom de deux équipes, en prenant les deux équipes de la même table. Par exemple, ci-dessousObtenir deux éléments de la même table dans une instruction SELECT

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

Pour (équipe A) et (équipe B) J'ai un team_id, qui est une FK pour la table « équipes »

Est-il possible d'obtenir le résultat suivant de ces tableaux par SQL? 1, Barcelone, Arsenal, 01/01/2000, 20:00

les deux tables sont les suivantes:

Table sportactivity

sport_activity_id, home_team_fk, away_team_fk, competition_id_fk, date, time 

(exemple tuple) -> 1, 33, 41, 5, 14/04/2010, 05:40:00

équipes de table

team_id, team_name 

(tuple exemple) -> 1, Algérie

Répondre

3

Oui, vous avez juste besoin de se joindre aux équipes deux fois:

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

taureaux oeil !! Merci) – mouthpiec

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