Mysql 如何在条件来自第三个表的情况下显示左连接结果?
我在一个名为racing的数据库中有以下表格: 比赛Mysql 如何在条件来自第三个表的情况下显示左连接结果?,mysql,sql,join,left-join,Mysql,Sql,Join,Left Join,我在一个名为racing的数据库中有以下表格: 比赛 种族识别码 会议记录 休息时间 头衔 会合 会议记录 会议日期 结果 结果标识 种族识别码 位置 马 我的任务是查询今天所有的比赛冠军+出局次数,如果有获胜的马,则查询获胜的马。 我得到了一个提示,我必须使用一个左连接来处理这个问题,我设法让左连接工作,但是我没有找到一种方法将事情绑定到某个日期(meeting_date)。所以这给了我所有比赛结果中获胜的马: SELECT r.title, r.off_time, rlt.hor
- 种族识别码
- 会议记录
- 休息时间
- 头衔
- 会议记录
- 会议日期
- 结果标识
- 种族识别码
- 位置
- 马
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),否则留下一个空值?您将需要内部连接到
会议
表:
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()