如何基于两个ID执行SQL JOIN?同时查询起抵机场名称
解决方案
要同时获取出发和到达机场的名称,你需要两次LEFT JOIN同一个airport表,通过给表设置不同的别名来区分两次关联,避免字段冲突。
修改后的SQL语句如下:
select route.FlightNum, dep_airport.AirportName as DepAirportName, route.DepCode, arr_airport.AirportName as ArrAirportName, route.ArrCode from route left join airport as dep_airport on route.DepCode = dep_airport.AirportCode left join airport as arr_airport on route.ArrCode = arr_airport.AirportCode
代码说明:
- 第一次关联airport表时设置别名
dep_airport,匹配出发机场代码route.DepCode = dep_airport.AirportCode,获取出发机场名称并别名化为DepAirportName - 第二次关联airport表时设置别名
arr_airport,匹配到达机场代码route.ArrCode = arr_airport.AirportCode,获取到达机场名称并别名化为ArrAirportName - 查询结果会包含你需要的所有字段:FlightNum、出发机场名称、DepCode、到达机场名称、ArrCode
内容的提问来源于stack exchange,提问作者BreakingBeaker
相关产品推荐
相关产品推荐

