使用不在的位置查找Access SQL中的第11个条目

时间:2017-07-08 17:14:54

标签: sql ms-access

您好我是在Access中使用SQL的新手,并且我试图通过使用where而不是in来查找数据库中的第11条记录。我继续在该行中发现缺少运算符错误,并且想知道是否有任何想法。

SELECT TOP 1 Passenger.Name, SUM(Manifest.Ticketprice) AS [Total Amount 
Spent on Tickets]
FROM Passenger INNER JOIN Manifest ON Passenger.PassengerNumber = 
Manifest.PassengerNumber
GROUP BY Passenger.Name
WHERE Passenger.Name NOT IN

(

SELECT TOP 10 Passenger.Name
FROM Passenger INNER JOIN Manifest ON Passenger.PassengerNumber = 
Manifest.PassengerNumber
GROUP BY Passenger.Name
ORDER BY SUM(Manifest.Ticketprice) DESC;

) 
;

1 个答案:

答案 0 :(得分:1)

你真的很亲密。

SELECT TOP 1 Passenger.Name, SUM(Manifest.Ticketprice) AS [Total Amount 
Spent on Tickets]
FROM Passenger INNER JOIN
     Manifest
     ON Passenger.PassengerNumber = Manifest.PassengerNumber
GROUP BY Passenger.Name
WHERE Passenger.Name NOT IN (
          SELECT TOP 10 Passenger.Name
          FROM Passenger INNER JOIN
               Manifest
              ON Passenger.PassengerNumber = Manifest.PassengerNumber
          GROUP BY Passenger.Name
          ORDER BY SUM(Manifest.Ticketprice) DESC;
         ) ;

您需要将乘客姓名与乘客姓名进行比较,而非票价。

还有其他方法可以编写使用票价的查询,但您可以使用乘客名称。

注意:如果passenger.number唯一标识每位乘客(以及名称,则子查询中不需要join