2016-12-07 2 views
0

Я действительно не знаю, как задать вопрос, поэтому я выложу мои таблицы:Два идентификатора соединены в одной таблице с родительской таблицей. Как отобразить имя обоих ID?

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) 

Так что я ищу, чтобы сделать отборное заявление, в котором отображаются два названия аэропорта рядом с origin_airportID и destination_airportID. Пока он показывает название первого аэропорта на маршруте, но не второго. Как разграничить между именем аэропорта отображается в обоих, как происхождения, так и назначения питаются airportID

Большое спасибо, P

+0

присоединиться к таблице дважды – Strawberry

+0

я сделал это, но есть конфликт между тем, что я извлечения. 'SELECT пассажир_имя, имя_сервера, origin_airportID, имя_сайта, destination_airportID' Как отличить название аэропорта для отображения в зависимости от идентификатора рядом с ним. – potatochucker

+0

Поделитесь образцом вывода, если это возможно. –

ответ

0

Присоединяйтесь к таблице маршрутов с таблицей аэропорта дважды - один раз для начала, когда для назначения , используя «как», чтобы различать их в столбцах результатов и использовать псевдонимы таблиц для дифференциации в соединении.

Что-то вроде:

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 
+0

Мы склонны препятствовать тому, чтобы присоединиться к стилю до 1992 года. Просто говорю'. – Strawberry