两个ID在一个表中链接回父表。如何显示两个ID的名称?

时间:2016-12-07 13:37:21

标签: mysql sql select inner-join

我真的不知道如何提出这个问题,所以我会发布我的表格:

TBL_Airport
---------------
Airport ID (PK)
airportID (fk)
airportname

1
to
M

TBL_Route
--------------
Route ID (PK)
origin_airportID (child to airportID)
destination_airportID (child to airportID)

所以我希望做一个select语句,显示origin_airportID和destination_airportID旁边的两个机场名称。到目前为止,它显示的是路线中第一个机场的名称,而不是第二个机场的名称。如何区分同时显示的机场名称作为来自机场ID的原点和目的地

非常感谢, P

1 个答案:

答案 0 :(得分:0)

将Route表与Airport表连接两次 - 一次用于原点,一次用于目标,使用“as”在结果列中区分它们,并使用表别名来区分连接。

类似的东西:

select R.Route_ID,
       A.airportname  as OriginAirportName,
       B.airportname  as DestinationAirportName
  from TBL_Route      R,
       TBL_Airport    A,
       TBL_Airport    B
 where R.origin_airportID      = A.Airport_ID
   and R.destination_airportID = B.Airport_ID