table_cities - city_id, city_name
table_booking - booking_id, source_city_id, destination_city_id
我想获取 Booking_id |来源城市名称 |结果是目的地城市名称。
我正在尝试这个:
SELECT * FROM table_bookings
INNER JOIN table_cities
ON table_bookings.source_city_id = table_cities.city_id
INNER JOIN table_cities
ON table_bookings.destination_city_id = table_cities.city_id;
但它给出的不是唯一的表/别名:'table_cities'
有人可以帮忙吗?
最佳答案
您需要为查询添加别名,这是因为您两次加入表 table_bookings
并选择 *
表名称不明确,因此您需要添加加入后使用别名以使其清晰:
SELECT
table_bookings.Booking_id,
sourceCities.source_city_name,
destinationCities.destination_city_name
FROM table_bookings
INNER JOIN table_cities AS sourceCities
ON table_bookings.source_city_id = table_cities.city_id
INNER JOIN table_cities AS destinationCities
ON table_bookings.destination_city_id = table_cities.city_id;
关于mysql - 如何在mysql中使用内部查询获取源城市和目的地城市名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22553516/