我有两张table,一张是飞行桌,另一张是起飞桌
Table flight:
flightnr| dest | start
| |
--------------------------------
| |
LH100 | ATL | FRA
LH102 | DXB | FRA
LH103 | ORD | FRA
LH104 | HND | FRA
LH105 | LHR | FRA
LH106 | LAX | FRA
LH107 | HKG | FRA
LH108 | CDG | FRA
LH109 | DFW | FRA
LH110 | IST | FRA
LH200 | ATL | LHR
LH201 | PEK | LHR
LH202 | DXB | LHR
LH203 | ORD | LHR
LH204 | FRA | LHR
另一张table是
Table departure:
flightnr| date | sign
| |
---------------------------------------
| |
LH-100 | 2018-01-10 | D-ABBL
LH-100 | 2018-02-10 | D-ABBL
LH-100 | 2018-03-10 | D-ABBL
LH-100 | 2018-04-10 | D-ABBL
LH-100 | 2018-05-10 | D-ABBL
LH-100 | 2018-06-10 | D-ABBL
LH-100 | 2018-07-10 | D-ABBK
LH-100 | 2018-08-10 | D-ABBK
LH-102 | 2018-02-10 | D-ABBB
LH-102 | 2018-04-10 | D-ABBB
LH-102 | 2018-06-10 | D-ABBB
LH-103 | 2018-09-10 | D-ABBB
LH-104 | 2018-03-10 | D-ABBB
LH-104 | 2018-05-10 | D-ABBB
LH-104 | 2018-07-10 | D-ABBB
LH-104 | 2018-09-10 | D-ABBB
LH-105 | 2018-01-10 | D-ABBB
LH-105 | 2018-02-10 | D-ABBB
LH-105 | 2018-03-10 | D-ABBB
LH-200 | 2018-01-10 | D-ABCA
LH-200 | 2018-02-10 | D-ABCA
LH-201 | 2018-03-10 | D-ABCA
LH-201 | 2018-05-10 | D-ABBR
LH-202 | 2018-05-10 | D-ABCA
LH-202 | 2018-09-10 | D-ABCA
LH-203 | 2018-04-10 | D-ABCA
LH-203 | 2018-05-10 | D-ABCA
LH-203 | 2018-06-10 | D-ABCC
LH-204 | 2018-01-10 | D-ABBF
LH-204 | 2018-03-10 | D-ABBI
LH-204 | 2018-08-10 | D-ABBM
所以现在我想选择一些线路,让我有可能从国际航空运输协会的“fra”飞到“pek”,这在一次起飞中是不可能的,因为在起飞表中没有从“fra”到“pek”的直飞航班。
作为一名客户,我必须先从“fra”飞到“lhr”,这样我才能在这之后从“lhr”飞到“pek”。
我现在的问题是,我真的不知道如何选择线路,使我有可能从“fra”飞到“pek”。输出应该是这样的:
date | flightnr | start | change_over_dest | date | flightnr | change_over_start | dest
------------+--------+-------+--------------+------------+--------+---------------+------
2018-03-10| LH-105 | FRA | LHR | 2018-03-10| LH-201 | LHR | PEK
2018-03-10| LH-105 | FRA | LHR | 2018-05-10| LH-201 | LHR | PEK
我已经尝试过在两个表之间使用连接的许多不同版本(使用两个连接将flight连接到自身,然后再连接到exchange),但是没有一个能以正确的方式工作。
希望我能清楚地描述我的问题,你们能帮我解决。
问候语
泽罗扎
2条答案
按热度按时间7jmck4yq1#
我们可以尝试在
flight
表,条件是第一个目的地是第二条路线的起点。此外,我们可以限制出发地和最终目的地城市。请注意,我们也加入到每个flight
tabledeparture
桌上,带上出发日期。我没有费心围绕您的完整样本数据集构建一个演示,因为它充满了拼写错误。相反,我只是设置了一个简单的演示,下面,这似乎是工作。
演示
nzrxty8p2#