从表中获取使用同一映射表映射的2个字段的数据

时间:2019-06-18 10:24:56

标签: mysql

我有2张桌子。 位置路线。在路由表中,我有fromto字段都映射到位置表。

位置location_idlocation_name 路线route_idroute_fromroute_to

由于route_fromroute_to都与location表映射,因此简单地联接该表并不能给我结果。在以下查询中尝试过,但无法获取所需的结果。如何通过与route_from表进行映射来获取route_tolocation的名称?帮帮我!

SELECT * FROM bus_route b, bus_location a
WHERE a.bus_location_id = b.route_from AND a.bus_location_id = b.route_to

2 个答案:

答案 0 :(得分:1)

在查询中使用AND代替OR

SELECT * FROM bus_route b, bus_location a

WHERE a.bus_location_id = b.route_from OR a.bus_location_id = b.route_to

答案 1 :(得分:1)

您需要为每个相关列执行位置表的联接,并可以通过将select query中的*替换为必填列来选择必填列值

SELECT * FROM bus_route b 
  INNER JOIN bus_location a ON a.bus_location_id = b.route_from 
  INNER JOIN bus_location c ON c.bus_location_id = b.route_to
相关问题