连接多个表
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];
我遇到以下问题的语法错误,似乎无法弄清楚,希望你们能帮助我!
我有这些表(它们已填充):
我正在尝试检索预定在某个航班号上的所有乘客的名字和姓氏,所以我得到的是:
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];