Какое соединение или подход использовать - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть две таблицы. Первая таблица содержит названия отдельных команд и teamID, который является PK. Вторая таблица содержит подробности о матчах: homeTeamID, awayTeamID, результат.

Мне как-то нужно объединить эти две таблицы, в которых у меня будут имена (не идентификаторы) команды хозяев и гостей и результат матча.

Как этого добиться? Первая таблица выглядит так:

<table><tbody><tr><th>TeamID</th><th>TeamName</th></tr><tr><td>1</td><td>Arsenal</td></tr><tr><td>2</td><td>Man. City</td></tr></tbody></table>

Вторая таблица выглядит следующим образом:

<table><tbody><tr><th>HomeTeamID</th><th>AwayTeamID</th><th>Result</th></tr><tr><td>1</td><td>2</td><td>1:0</td></tr></tbody></table>

Полученная таблица должна выглядеть следующим образом:

<table><tbody><tr><th>HomeTeam</th><th>AwayTeam</th><th>Result</th></tr><tr><td>Arsenal</td><td>Man. City</td><td>1:0</td></tr></tbody></table>

1 Ответ

2 голосов
/ 05 апреля 2020

Обычно вы присоединяетесь к столу teams дважды: один раз, чтобы получить имя команды хозяев, другой для команды гостей:

select 
    th.name home_team
    ta.name away_team
    m.result
from matches m
inner join teams th on th.teamID = m.homeTeamID
inner join teams ta on ta.teamID = m.awayTeamID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...