gpt4 book ai didi

mysql - 如何显示来自第三个表的条件的 LEFT JOIN 结果?

转载 作者:行者123 更新时间:2023-11-29 00:12:04 25 4
gpt4 key购买 nike

我在名为racing 的数据库中有以下表格:

比赛

  • race_id
  • session 编号
  • 下类时间
  • 标题

session

  • session 编号
  • session 日期

结果

  • result_id
  • race_id
  • 职位

我的任务是做一个查询,获取今天所有的比赛标题和 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 值?

最佳答案

您需要 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()

关于mysql - 如何显示来自第三个表的条件的 LEFT JOIN 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24607164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com