我在名为赛车的数据库中有以下表格:
RACE
MEETING
RESULT
我已经完成了一项任务,做一个今天获得所有比赛冠军+ off_times的查询以及如果有一个获胜的马。
我得到了一个提示,我必须使用LEFT JOIN来处理这个问题,我设法让左连接起作用,但是我找不到将事物绑定到特定日期(meeting_date)的方法。所以这给了我所有比赛结果的胜利马:
SELECT r.title, r.off_time, rlt.horse
FROM racing.race r
LEFT JOIN racing.result rlt ON r.race_id=rlt.race_id;
我如何根据今天的比赛结果过滤这些比赛,只有在比赛发生时,获胜的马(位置= 1),否则留下一个NULL值?
答案 0 :(得分:1)
您需要INNER JOIN到meeting
表:
SELECT r.title, r.off_time, rlt.horse
FROM racing.race r
INNER JOIN racing.meeting m ON r.meeting_id = m.meeting_id
LEFT JOIN racing.result rlt ON r.race_id = rlt.race_id AND rlt.position = 1
WHERE m.meeting_date = CURDATE()