Это для класса базы данных, использующего 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.
ЛЮБАЯ Помощь для этого. Я действительно даже не знаю, с чего начать.
EDIT
Это то, что я придумал до сих пор. Пожалуйста, дайте мне знать, если я на правильном пути, по крайней мере, пожалуйста.
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
)