@pontakreon

Как составить запрос?

Задание из книги Б.А.Новикова "Основы технологии баз данных":
Напечатанный посадочный талон должен содержать фамилию и имя пассажира (Tickets.passenger_name) , коды аэропортов вылета и прилета (Flights.departure_airport и Flights.arrival_airport), дату и время вылета и прилета по расписанию (Flights.scheduled_departure и Flights.scheduled_arrival), номер места в салоне самолета (Boarding_passes.seat_no). Напишите запрос, выводящий всю необходимую информацию для полученных посадочных талонов на рейсы, которые еще не вылетели (Flights.status IN ('Scheduled', 'On Time', 'Delayed')).

ER диаграмма
64e67c7bdad27149063870.png

Вот мой запрос
select t.passenger_name, f.departure_airport, f.arrival_airport,
f.scheduled_departure, f.scheduled_arrival, bp.seat_no from tickets t
join ticket_flights tf on t.ticket_no = tf.ticket_no
join boarding_passes bp on tf.ticket_no = bp.ticket_no
join flights f on tf.flight_id = f.flight_id
where f.status in ('Scheduled', 'On Time', 'Delayed')  limit 20;

Значения двоятся. Потому что в первичном ключе таблицы Ticket_flights в некоторых случаях на одно значение ticket_no приходится по нескольку значений ticket_id.
spoiler
64e67e5149f19892470748.png
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы