2014-09-15 7 views
0

У меня есть 2 таблицыSQL, соединить 2 таблицы

matchdata: id_team1, id_team2, name_team1, name_team2, group_order_id

команды: team_id, TEAM_NAME

Я стараюсь это:

select * from matchdata join teams on matchdata.id_team1 = teams.team_id; 

Но мне нужно

matchdata.id_team1 = teams.team_id 

И

matchdata.id_team2 = teams.team_id 

после того, как я хочу select WHERE group_order_id = $bla Как я могу это сделать?

+1

Вы считаете, что не храните имена в matchdata, а просто извлекаете их из команд при необходимости? – RST

ответ

1

Вы можете использовать два JOIN на одном столе.

SELECT * FROM matchdata 
JOIN teams t1 ON matchdata.id_team1 = t1.team_id 
JOIN teams t2 ON matchdata.id_team1 = t2.team_id 
WHERE group_order_id = $bla; 
0

Вы можете использовать IN для этого:

SELECT * 
FROM matchdata md 
    JOIN teams t ON t.team_id IN (md.id_team1, md.id_team2) 
WHERE md.group_order_id = $bla 
Смежные вопросы