获取特定日期每个游戏的HomeTeam ID和AwayTeam ID

问题描述 投票:0回答:1

我有2张桌子:

表1称为团队:包含不同的列,例如Team_ID,Team_Name ...等

表2称为Matchs:包含Match_ID,Home,Away,Match_Date之类的不同列。

[Home and away是我组建的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“

用于阐明我要做什么的图像:

enter image description here

mysql database phpmyadmin
1个回答
0
投票

您需要两个联接和一个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的主键)。

© www.soinside.com 2019 - 2024. All rights reserved.