我正在尝试连接两个表,但得到“错误代码:1052。字段列表中的列'Flight_no'是不明确的”。有人可以帮助我吗?
这是我的问题:
SELECT Flight_no, Airline_code. Lname, Passenger_id
FROM Ticketinfo JOIN Flights
ON Ticketinfo.Flight_no = Flights.Flight_no;
以下是我的表格信息:
CREATE TABLE Flights
(
Flight_no INT NOT NULL,
Airline_code char (5) NULL,
Departure_AirportCode char (5) NOT NULL,
Departure_date date NOT NULL,
Arrival_AirportCode char (5) Not NULL,
Arrival_date date not null,
Price decimal (5,2),
Airline_no INT NOT NULL,
Route_no varchar (8) NOT NULL,
PRIMARY KEY (Flight_no),
FOREIGN KEY (Airline_no) REFERENCES Airlines(Airline_no),
FOREIGN KEY (Route_no) REFERENCES Routes(Route_no)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
CREATE TABLE TicketInfo
(
Confirmation_no varchar (10) NOT NULL,
Lname varchar (30) NOT NULL,
Passenger_id varchar (6) NOT NULL,
Fare_type varchar (3) NOT NULL,
Flight_no INT NOT NULL,
PRIMARY KEY (Confirmation_no),
FOREIGN KEY (Passenger_id) REFERENCES Passenger(Passenger_id),
FOREIGN KEY (Flight_no) REFERENCES Flights(Flight_no)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
答案 0 :(得分:0)
这是模棱两可的。 Flight_No在两个表格中。
将特定表格添加到字段中,如下所示:
SELECT Flights.Flight_no, Airline_code. Lname, Passenger_id
FROM Ticketinfo JOIN Flights
ON Ticketinfo.Flight_no = Flights.Flight_no;
答案 1 :(得分:0)
由于Flight_no
列出现在两个表中,因此您需要通过指定希望Flight_no
列来自哪个表来解决SELECT中的歧义。由于您的加入,两个表中的值都相同,因此您选择的内容并不重要。
SELECT Ticketinfo.Flight_no, Airline_code. Lname, Passenger_id
FROM Ticketinfo JOIN Flights
ON Ticketinfo.Flight_no = Flights.Flight_no;