Bạn chưa đủ điều kiện cho các tên cột của mình. Vì vậy, bạn nghĩ rằng bạn đang chạy:
SELECT a.*
FROM aircraft a
WHERE a.airc_manufact IN (SELECT f.airc_manufact FROM flight f);
Nếu f.airc_manufact
không tồn tại, thì các quy tắc xác định phạm vi nói rằng hãy tìm trong truy vấn bên ngoài. Vì vậy, những gì bạn thực sự đang chạy là:
SELECT a.*
FROM aircraft a
WHERE a.airc_manufact IN (SELECT a.airc_manufact FROM flight f);
Điều đó khá vô dụng như một mệnh đề lọc.
Đạo đức: Luôn luôn xác định tên cột trong một truy vấn, đặc biệt nếu truy vấn đề cập đến nhiều hơn một bảng.