【发布时间】:2016-03-08 14:47:24
【问题描述】:
我想列出航班表中出发和到达与表 2 相同的所有航班。 具体情况是Departure in flight是XXXX -dsdjqlkdjlqs or XXXXdkjfhkds etc...而表2中只有XXXX
代码:
CREATE TABLE flights
(`Name` varchar(10), `Departure` varchar(50), `Arrival` varchar(10), `Pass` int, `Cargo` int, `Dist` int)
;
INSERT INTO flights
(`Name`, `Departure`, `Arrival`, `Pass`, `Cargo`, `Dist`)
VALUES
('444 737vvv', 'LFLL gee', 'LPMAdsf', 200, 2000, 12),
('gg737vvv', 'LPMA-egege', 'LFLLdsf', 3000, 0, 13),
('747vvv', 'LFLLèèegege', 'LPMAdsf', 0, 5000, 15),
('747vvv', 'OTHHèèegege', 'LPMAdsf', 0, 5000, 15),
('747vvv', 'OMDBèèegege', 'LPMAdsf', 0, 5000, 15),
('a320vvv', 'EGKK-egege', 'LFPOdd', 0, 6000, 14)
;
CREATE TABLE Table2
(`Dep` varchar(21), `Arri` varchar(21),`Type` varchar(21))
;
INSERT INTO Table2
(`Dep`, `Arri`, `type`)
VALUES
('LFLL', 'LFPG', 'cargo'),
('LFPG', 'LFLL', 'cargo'),
('LFLL', 'LPMA', 'com'),
('LPMA', 'LFLL', 'cargo'),
('LFPO', 'EGKK', 'cargo'),
('EGKK', 'LFPO', 'com')
;
我有测试:
select flights.name,
flights.Departure
from flights
where substr(flights.Departure, 1, 4) in (select Dep from table2) and
substr(flights.Arrival, 1, 4) in (select Arri from table2)
;
例子:
我从 LFLL 飞往 LFPG
在表 2 中有航空公司:
LFLL LFPG
LFMT LFPO 等......
根据您的要求,如果我从 LFLL 飞往 LFPO,该航班会出现,但不会出现,因为 LFLL 到 LFPO 不是航空公司。
【问题讨论】:
标签: mysql sql join inner-join