获取特定日期每场比赛的hometeam id和awayteam id

laawzig2  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(282)

我有两张table:
名为teams的表1:包含不同的列,如team\u id、team\u name。。。等。
表2称为matches:它包含不同的列,如match\u id、home、away、match\u date。
home和away是我生成的两个团队的名称,我尝试了不同的查询来生成一个结果,其中我有团队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\u date=“date”
一张图片来阐明我的意图:

dfuffjeb

dfuffjeb1#

你想要两个 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 ).

相关问题