如果了解您的查询正确想要attendies其最大的注册支付等于支付任何与会者最大regitration的列表。
如果因此它可以通过加入几个子查询来实现: -
SELECT FirstName, LastName, sub0.MaxRegistrationPaid
FROM tblattendees
INNER JOIN
(
SELECT AttendeeID, MAX(RegistrationPaid) AS MaxRegistrationPaid
FROM tblregistration
GROUP BY AttendeeID
) sub0
ON tblattendees.AttendeeID = sub0.AttendeeID
INNER JOIN
(
SELECT MAX(RegistrationPaid) AS MaxRegistrationPaid
FROM tblregistration
) sub1
ON sub0.MaxRegistrationPaid = sub1.MaxRegistrationPaid
也可以用做HAVING: -
SELECT FirstName, LastName, MAX(RegistrationPaid) AS MaxRegistrationPaid
FROM tblattendees
INNER JOIN tblregistration
ON tblattendees.AttendeeID = tblregistration.AttendeeID
CROSS JOIN
(
SELECT MAX(RegistrationPaid) AS HighestRegistrationPaid
FROM tblregistration
) sub1
GROUP BY FirstName, LastName
HAVING MaxRegistrationPaid >= HighestRegistrationPaid
如果你喜欢,可以考虑下面这个简单的两一步一步的行动:1.如果您尚未这样做,请提供适当的CREATE和INSERT语句(和/或sqlfiddle),以便我们可以更轻松地复制问题。 2.如果您尚未这样做,请提供与步骤1中提供的信息相对应的所需结果集。 – Strawberry