【发布时间】:2021-05-03 16:47:39
【问题描述】:
我对 mysql 还很陌生,这里有这个 SQL:
SELECT * , MAX(meeting_date) AS recent_meeting_date
FROM driver
INNER JOIN meeting_attendee ON meeting_attendee.attendee_email = driver.driver_email
INNER JOIN meeting ON meeting.meeting_id = meeting_attendee.meeting_id
WHERE recent_meeting_date < UTC_TIMESTAMP
GROUP BY driver_id
ORDER BY driver_id;
我有一个driver 表,其中包含驱动程序详细信息和来自meeting 表的内部联接,其中列出了所有会议及其和meeting_attendee 表,其中列出了过去和将来参加会议的所有驱动程序。
我需要一个 sql 来显示尚未预订会议的所有司机的列表,这意味着他们最近的会议日期小于今天的日期并且不大于今天的日期。
这个 sql 没有运行,因为我们不能在 WHERE 子句中使用recent_meeting_date。如何修复 sql 以使其正常工作?
【问题讨论】:
-
请添加几行样本数据和预期的结果。
-
您的查询格式错误。它可能在 MySQL 5.7.4 或更早版本中运行,但即便如此,结果也是不可预测的。