Получите HomeTeam ID и AwayTeam ID каждой игры на конкретную дату c - PullRequest
0 голосов
/ 29 мая 2020

У меня есть 2 таблицы:

Таблица 1, называемая командами: содержит разные столбцы, такие как Team_ID, Team_Name ... и т. Д. c.

таблица 2, называемая совпадениями: которая содержит разные столбцы например Match_ID, Home, Away, Match_Date.

Home и away - это названия 2 команд, которые я создал, я пробовал разные запросы, чтобы сгенерировать результат, в котором у меня есть идентификатор команды вместо названий команд, например:

SELECT t1.Home,t2.Away from  

(SELECT a.Team_ID AS Home, b.Match_Date from teams a
INNER JOIN matches b ON a.Team_Name=b.Home
Where b.Match_Date="2020-05-29 23:59:59") t1,

(SELECT a.Team_ID AS Away, b.Match_Date from teams a
INNER JOIN matches b on a.Team_Name=b.Away
Where b.Match_Date="2020-05-29 23:59:59") t2;

Но это не дало мне результата, который я ищу, и после получения результата я просто хочу отфильтровать его, используя определенную c дату, например WHERE Match_Date = "date"

Изображение, поясняющее, что я пытаюсь сделать:

enter image description here

1 Ответ

1 голос
/ 29 мая 2020

Вам нужны два join s на teams (один для команды хозяев, а другой для команды гостей) и условие where для фильтрации по дате матча:

select th.team_id home, ta.team_id away, m.match_date
from matches m
inner join teams th on th.team_name = m.home
inner join teams ta on ta.team_name = m.away
where m.match_date = 'date1'

Обратите внимание, что вы не должны хранить команду имя в matches, а вместо этого id (который, предположительно, является первичным ключом teams).

...