НачатьНачать бесплатно

Все маршруты рейсов из Вены

Ранее вы изучили структуру данных о рейсах и определили необходимые поля из таблицы flightPlan. В этом упражнении они будут использованы для якорного и рекурсивного запросов.

Задача упражнения — объединить эти знания и создать рекурсивный запрос, который:

  • находит все возможные рейсы из Vienna
  • ограничивает travel cost суммой менее 500 евро
  • допускает не более 5 пересадок

В результате выведите только пункты назначения и соответствующие стоимости!

Это упражнение является частью курса

Иерархические и рекурсивные запросы в SQL Server

Посмотреть курс

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

WITH flight_route (Departure, Arrival, stops) AS(
  	SELECT 
  	  	f.Departure, f.Arrival,
		-- Initialize the number of stops
  	  	___
  	FROM flightPlan f
  	WHERE Departure = 'Vienna'
  	UNION ALL
  	SELECT 
  	  	p.Departure, f.Arrival,
  		-- Increment the number of stops
  	  	p.stops + ___
  	FROM flightPlan f, flight_route p
  	-- Limit the number of stops
  	WHERE p.Arrival = f.Departure AND 
  	      p.stops < ___)

SELECT 
	DISTINCT Arrival, 
    Departure, 
    stops
FROM flight_route;
Редактировать и запускать код