[英]How to display LEFT JOIN results with a condition coming from a third table?
我在名为racing的数据库中有下表:
种族
会议
结果
我已经被赋予执行查询的任务, 该查询将获取所有今天的比赛头衔+非比赛时间,如果有的话,还会赢得一匹冠军马。
提示我必须使用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值)?
您需要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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.