Домашнее задание - пытаетесь рассчитать несколько остановок полета между двумя городами?

Это для класса базы данных с использованием Oracle DB 11g

Tables:

• Flight (flt_no, from_city, to_city, flt_distance, 
  flt_departs, flt_arrives, flt_price)

• Aircraft (craft_id, craft_name, cruising_range)

• Employee (emp_id, emp_name, emp_salary)

• Certified (emp_id, craft_id)

ЗАПРОС: Клиент хочет вылететь из Мэдисона в Нью-Йорк не более чем с двумя пересадками. Укажите варианты вылета из Мэдисона, если клиент хочет прибыть в Нью-Йорк к 18:00.

Я ценю ЛЮБУЮ помощь. Я действительно даже не знаю, с чего начать.

РЕДАКТИРОВАТЬ Это то, что я придумал до сих пор. Пожалуйста, дайте мне знать, если я хотя бы на правильном пути

SELECT F.flt_no
  FROM Flight F
 WHERE F.from_city = 'Madison'
   AND F.to_city = 'New York'
   AND DATEPART(hh, F.flt_arrives) <= 18
 UNION
SELECT F.flt_no
  FROM Flight F
 WHERE (F.from_city = 'Madison'
        AND F.to_city IN (SELECT from_city
                            FROM Flight F
                           WHERE F.to_city = 'New York')
       )
    OR
       (F.to_city = 'New York'
        AND F.from_city IN (SELECT to_city
                              FROM Flight F
                             WHERE F.from_city = 'Madison')
        AND DATEPART(hh, F.flt_arrives) <= 18
       )
0
задан Michael Durrant 22 March 2012 в 03:26
поделиться