我不确定标题是否足够清晰。我想要的是如此简单而复杂的实现(也许我在想它)。我认为联接有解决方案,但我不知道如何构建连接。
说我们有两个表,城市和flight_profiles:
城市
城市名称|城市代码
------------- + --------------
城市a 1
城市b | 2
flight_profiles
flight_numb |来自|到
--------------- + ------- + -----
701 | 1 | 2
702 | 2 | 1
查询应显示以下所需的输出
期望的输出
flight_numb |从|到
--------------- + ---------- + --------
701 |城市a城市b
702 |城市b |城市a
如何构建此连接?
答案 0 :(得分:1)
flight_profiles
表已经有路由,您只需要用名称替换城市代码。正如您所建议的那样,这可以通过使用连接来完成 - 对于您要替换的每个代码,只需执行一次:
SELECT flight_numb, cityfrom.name, cityto.name
FROM flight_profiles fp
JOIN cities cityfrom ON fp.from = cityfrom.citycode
JOIN cities cityto ON fp.to = cityto.citycode
答案 1 :(得分:0)
您需要使用不同的别名
两次加入cities
表
select f.flight_numb,
c_from.city_name as c_from,
c_to.city_name as c_to
from flight_profiles f
join cities c_from on c_from.city_code = f.from
join cities c_to on c_to.city_code = f.to