我需要帮助使我的代码正常工作,错误是:“聚合可能不会出现在where子句中,除非它出现在having子句或select列表中包含的子查询中,并且被聚合的列是外部引用。”
这是我的密码:
--Query 3
SELECT m.*,b.BikeStopID, r.DateTimeStart, r.DateTimeEnd
FROM Member m INNER JOIN Ride r ON m.MemberID = r.MemberID
INNER JOIN Bike b ON r.BikeID = b.BikeID
WHERE m.MemberID = 4 AND r.DateTimeEnd = (SELECT MAX(r.DateTimeEnd) FROM Ride)
1条答案
按热度按时间e4yzc0pl1#
在子查询中使用表别名:
表达式
r.DateTimeEnd
在您的查询中引用r
在外部查询中——因此出现错误。不过,如果您只查找最新的一行,我更可能会这样写:
如果最近一次乘坐的是其他成员,则您的版本可能不会返回任何行。