获取特定日期每场比赛的 HomeTeam ID 和 AwayTeam ID
Get HomeTeam ID and AwayTeam ID of each game for a specific date
我有 2 个 table:
Table 1 个称为团队:包含不同的列,如 Team_ID、Team_Name... 等
table 2 个称为匹配项:包含不同的列,例如 Match_ID、主场、客场、Match_Date。
主场和客场是我生成的2支球队的名字,
我尝试了不同的查询来生成结果,其中我有团队 ID 而不是团队名称
例如:
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;
但它并没有给我想要的结果
得到结果后,我只想使用特定日期对其进行过滤,例如 WHERE Match_Date= "date"
一张图片来阐明我正在尝试做的事情:
您想要 teams
上的两个 join
(一个用于主队,另一个用于客队),以及一个 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'
请注意,您不应将团队 name 存储在 matches
中,而应将团队 id 存储(其中,据推测,是 teams
的主键)。
我有 2 个 table:
Table 1 个称为团队:包含不同的列,如 Team_ID、Team_Name... 等
table 2 个称为匹配项:包含不同的列,例如 Match_ID、主场、客场、Match_Date。
主场和客场是我生成的2支球队的名字, 我尝试了不同的查询来生成结果,其中我有团队 ID 而不是团队名称 例如:
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;
但它并没有给我想要的结果 得到结果后,我只想使用特定日期对其进行过滤,例如 WHERE Match_Date= "date"
一张图片来阐明我正在尝试做的事情:
您想要 teams
上的两个 join
(一个用于主队,另一个用于客队),以及一个 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'
请注意,您不应将团队 name 存储在 matches
中,而应将团队 id 存储(其中,据推测,是 teams
的主键)。