Member 10506503 Ответов: 1

Sql query question - как получить номер рейса


Самалеты пунктом ПНР происхождения
216 AA0011 HOG NAS
229 AA0011 NAS MIA

216 AA0401 HOG NAS
229 AA0401 NAS MIA

222 AA0411 MIA NAS
215 AA0411 NAS HOG

222 AA0412 MIA NAS
215 AA0412 NAS HOG
Я хочу получить такой результат.
Самалеты " ПНР " источник-назначение
229,216 AA0011 MIA-HOG
222,215 AA0411 MIA-HOG

Что я уже пробовал:

SELECT R.FlightNumber,PR.PNR,AO.IATACode AS Origin,AD.IATACode AS Destination FROM Reservations R 
									INNER JOIN PaxReservation PR ON R.PKID_Reservations=FKID_Reservation									
									INNER JOIN Airports AO on AO.PKID_Airports=r.FKID_Origin
                                    INNER JOIN Airports AD on AD.PKID_Airports=r.FKID_Destination 
									WHERE  OperatingStatus > 0 AND R.StartDateTime >= '06/11/2020' AND R.StartDateTime < '06/12/2020'

1 Ответов

Рейтинг:
9

MadMyche

Ну, вот некоторое время, потраченное на работу над этим для вас на основе данных, которые вы предоставили... к сожалению, есть и другие таблицы, для которых вы не дали нам схему или данные

-- testing table and data population
declare @Temp table (
	FlightNumber int,
	PNR char(6),
	Origin char(3),
	Destination Char(3)
)
INSERT @Temp VALUES
  (216, 'AA0011', 'HOG', 'NAS')
, (229, 'AA0011', 'NAS', 'MIA')

, (216, 'AA0401', 'HOG', 'NAS')
, (229, 'AA0401', 'NAS', 'MIA')

, (222, 'AA0411', 'MIA', 'NAS')
, (215, 'AA0411', 'NAS', 'HOG')

, (222, 'AA0412', 'MIA', 'NAS')
, (215, 'AA0412', 'NAS', 'HOG')

/* [=====[ Proof of Concept ]=====]*/
SELECT t2.FlightNumber, t1.FlightNumber, t1.PNR, t2.Destination, t1.Origin
FROM   @Temp t1
JOIN   @Temp t2 ON t1.pnr = t2.PNR AND t1.Destination = t2.Origin
WHERE  T1.PNR LIKE '____11'


Member 10506503

Спасибо. Помогающий нам.