У меня вопрос по SQL Серверу. Я пытаюсь найти авиакомпании с наименьшим количеством рейсов, а также мне нужно получить сумму пассажиров, которые авиакомпания, выбранная MIN()
, имела на своих рейсах. Я сделал код, который позволяет мне получить MIN()
и Name
авиакомпании, но я не могу получить правильную сумму, он всегда суммирует все. Я вставлю таблицы своей базы данных и код, который я использовал для получения MIN()
. Помните, что я не могу использовать явное значение.
Мои таблицы:
FLIGHTS
NumFlight | Date | Origin |Destination| Airline | NumPassengers | International|
___________|_____________________|________|___________|___________|_______________|______________|
44 2014-02-08 2 3 3 135 Yes
76 2014-03-17 2 1 2 80 No
380 2014-06-04 5 1 2 147 No
421 2014-04-21 1 2 1 185 No
572 2014-09-12 5 4 3 99 Yes
906 2014-05-10 3 2 3 154 Yes
918 2014-12-24 1 5 1 122 No
AIRLINES
AirlineID | Name |
______________|___________|
1 Delta
2 United
3 Air France
CITY
CityID | City |
______________|_________________|
1 Chicago
2 New York
3 Paris
4 Madrid
5 Houston
Мой запрос :
SELECT A.Name, MINIMUM.[# of Flights] AS 'N. of Flights'
FROM AIRLINES A,
(SELECT MIN(F.Total) AS '# of Flights' FROM
(SELECT Airline, COUNT(Airline) AS 'Total' FROM FLIGHTS GROUP BY Airline) F,
AIRLINES A
WHERE A.AirlineID = F.Airline) MINIMUM,
(SELECT Airline, COUNT(Airline) AS 'Total' FROM FLIGHTS GROUP BY Airline) TOTAL
WHERE TOTAL.Total = MINIMUM.[# of Flights] AND A.AirlineID = TOTAL.Airline