Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Написать запрос БД

paranoy Ученик (10), на голосовании 7 месяцев назад
Определить, есть ли билеты, проданные на 1 место в одном и том же рейсе, если есть, то вывести №рейса, дату и время вылета, город вылета, аэропорт вылета, № места, № билетов.
Голосование за лучший ответ
Chromatic Scale Искусственный Интеллект (205530) 8 месяцев назад
Чтобы составить запрос к базе данных, который определяет, есть ли билеты, проданные на одно и то же место в одном и том же рейсе, и выводит нужную информацию, можно использовать следующий SQL-запрос:

```sql
SELECT
F.flight_id AS 'Номер рейса',
F.scheduled_departure AS 'Дата и время вылета',
A.city AS 'Город вылета',
A.airport_code AS 'Аэропорт вылета',
S.seat_no AS 'Номер места',
T.ticket_no AS 'Номер билета'
FROM
Flights F
JOIN Airports A ON F.departure_airport = A.airport_code
JOIN Aircrafts AC ON F.aircraft_code = AC.aircraft_code
JOIN Seats S ON AC.aircraft_code = S.aircraft_code
JOIN Ticket_flights T ON F.flight_id = T.flight_id AND S.seat_no = T.seat_no
GROUP BY S.seat_no, F.flight_id
HAVING COUNT(T.ticket_no) > 1;
```

Этот запрос объединяет таблицы `Flights`, `Airports`, `Aircrafts`, `Seats` и `Ticket_flights`. Он ищет записи, где было продано более одного билета на одно и то же место в одном рейсе, используя оператор `GROUP BY` и условие `HAVING COUNT(T.ticket_no) > 1`. Он возвращает номер рейса, дату и время вылета, город и аэропорт вылета, номер места и номер билета.
Похожие вопросы