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

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旁边显示两个机场名称。到目前为止,它显示的是路线中第一个机场的名称,而不是第二个。如何区分显示为airportID的出发地和目的地的机场名称

非常感谢,
P

最佳答案

将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

关于mysql - 在一个表中将两个ID链接回父表。如何显示两个ID的名称?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41018945/

10-10 23:05