连接多个表

Join with Multiple Tables

我遇到以下问题的语法错误,似乎无法弄清楚,希望你们能帮助我!

我有这些表(它们已填充):

我正在尝试检索预定在某个航班号上的所有乘客的名字和姓氏,所以我得到的是:

SELECT PassFName, PassLName
FROM Passenger
INNER JOIN PassID ON Passenger.PassID = Reservation.PassID
INNER JOIN FlightNum ON FlightNum.Reservation = FlightNum.ScheduledFlight
WHERE ScheduledFlight.FlightNum = [Enter Flight Number];

但是,我收到错误消息:

不知道为什么,我也注意到最后一行拼写错误 FlightNum.ScheduledFlight。知道我做错了什么吗?

谢谢!

MS Access 的连接语法很奇怪。每个 JOIN 对都需要括号。所以:

SELECT PassFName, PassLName
FROM (Passenger INNER JOIN
      Reservation
     ) ON Passenger.PassID = Reservation.PassID INNER JOIN
     FlightNum
     ON FlightNum.Reservation = FlightNum.ScheduledFlight
WHERE ScheduledFlight.FlightNum = [Enter Flight Number];

虽然其他数据库支持此语法,但只有 MS Access 才需要。

Gordon 的观点是正确的,但他的括号放错了地方并且遗漏了其他重要问题。这个查询有点混乱,table 名称和字段名称翻转。这是我认为可行的...

SELECT
       PassFName
     , PassLName
FROM (
     Passenger
     INNER JOIN Reservation
        ON Passenger.PassID = Reservation.PassID
     )
INNER JOIN ScheduledFlight
    ON Reservation.FlightNum = ScheduledFlight.FlightNum
WHERE
     ScheduledFlight.FlightNum = [Enter Flight Number];