для задания в нашем университете я должен создать представление для базы данных, но с ограничением, что это должен быть только один оператор.
И эта часть заявления сейчас вызывает у меня головную боль.
Я создал это утверждение:
CREATE VIEW overbook_future_flights AS
SELECT
FlightNo,
DepartureDateAndTimeUTC,
ICAO_Code_Origin,
ICAO_Code_Destination,
PlaneID,
NoOfSeats,
NoOfReservedSeats AS NoReservedSeats
FROM (
SELECT
flightexecution.ICAO_Code_Origin,
flightexecution.ICAO_Code_Destination,
CURRENT_TIMESTAMP() AS nowUTC,
SUM(NoReservedSeats) AS NoOfReservedSeats,
flightexecution.DepartureDateAndTimeUTC,
reservation.FlightNo,
plane.PlaneID,
plane.NoOfSeats
FROM reservation
INNER JOIN flightexecution ON
flightexecution.FlightNo = reservation.FlightNo AND
flightexecution.DepartureDateAndTimeUTC = reservation.DepartureDateAndTimeUTC
INNER JOIN plane ON
flightexecution.PlaneID = plane.PlaneID
GROUP BY
FlightNo,
DepartureDateAndTimeUTC
HAVING
NoOfreservedSeats > NoOfSeats and
nowUTC < DepartureDateAndTimeUTC
) AS a;
Но происходит сбой, поскольку create view
не разрешает подзапросы в операторе from
.
Обычно я просто создаю несколько представлений и использую представление вместо подзапроса, но это должен быть только один оператор.
Кто-нибудь знает, возможно ли это задание решить? Если да, то как мне это решить?