Oracle SQL航班数据库-查找从A到B的中途停留航班?
我的航班数据库如下表所示:Oracle SQL航班数据库-查找从A到B的中途停留航班?,sql,oracle,Sql,Oracle,我的航班数据库如下表所示: FID from fto dep arrive days flightno ---- ----- --- ---- ------ ---- -------- 167 MPB KYM 1020 1040 0 EA5203 168 MPB KYM 1510 1530 0 EA5205 169 MPB KYM 1705 1725 0 EA5207 221
FID from fto dep arrive days flightno
---- ----- --- ---- ------ ---- --------
167 MPB KYM 1020 1040 0 EA5203
168 MPB KYM 1510 1530 0 EA5205
169 MPB KYM 1705 1725 0 EA5207
221 NEB KYM 850 1025 0 EA782
222 NEB KYM 1355 1530 0 EA784
223 NEB KYM 1810 1945 0 EA786
557 BAH NEB 1305 1500 0 EA686
558 BAH ELM 605 715 0 EA162
559 BAH ELM 1005 1115 0 EA340
560 BAH ELM 1230 1340 0 EA872
561 BAH ELM 1325 1435 0 EA442
562 BAH ELM 1400 1510 0 EA872
563 BAH ELM 1455 1605 0 EA978
564 BAH ELM 1640 1750 0 EA640
565 BAH ELM 2025 2135 0 EA940
566 BAH YDS 645 845 0 EA992
567 BAH YDS 945 1130 0 EA974
1163 PPP KYM 1040 1110 0 EA3201
1164 PPP KYM 1450 1520 0 EA3207
1190 OKR KYM 825 920 0 EA3200
1191 OKR KYM 1010 1100 0 EA3204
1192 OKR KYM 1500 1605 0 EA3214
1517 SVT KYM 810 920 0 EA3201
1518 SVT KYM 940 1050 0 EA3201
1519 SVT KYM 1215 1310 0 EA3211
1520 SVT KYM 1510 1605 0 EA3211
如何查询以显示从BAH到KYM的间接航班?
我试过很多方法都没有用。非常感谢您的帮助
select CONNECT_BY_ROOT ffrom ||SYS_CONNECT_BY_PATH(fto, '/') path_ ,level,ffrom,fto
from FLIGHTS_TABLE
where level > 1
start with ffrom='BAH' CONNECT BY PRIOR fto =ffrom ORDER SIBLINGS By ffrom ;
它重述:
PATH_ |LEVEL| FFROM | FTO
BAH/NEB/KYM | 2 | NEB | KYM
BAH/NEB/KYM | 2 | NEB | KYM
BAH/NEB/KYM | 2 | NEB | KYM
它返回3行,因为从“NEB”到“KYM”有3行/航班。我不知道哪个航班是间接航班
它重述:
PATH_ |LEVEL| FFROM | FTO
BAH/NEB/KYM | 2 | NEB | KYM
BAH/NEB/KYM | 2 | NEB | KYM
BAH/NEB/KYM | 2 | NEB | KYM
它返回3行,因为从“NEB”到“KYM”有3行/航班。我不知道哪个航班是间接航班 我们如何理解间接航班?例如BAH到NEB,然后NEB到KYM。一个“中途停留”可以添加文本示例数据吗?所以,我们可以测试我们的问题。不完全确定你的意思?像这样?你有三个NEB到KYM,你怎么知道哪一个?我们怎么能理解间接航班?例如BAH到NEB,然后NEB到KYM。一个“中途停留”可以添加文本示例数据吗?所以,我们可以测试我们的问题。不完全确定你的意思?像那样?你有三个NEB-to-KYM,你怎么知道是哪一个?