Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Решение задачи с сайта http://www.sql-ex.ru/  [new]
AlexCCoder
Member

Откуда:
Сообщений: 1
Здравствуйте.

не могу решить задачу: Определить пассажиров, которые больше других времени провели в полетах.
Вывод: имя пассажира, общее время в минутах, проведенное в полетах

Вот запрос, который у меня есть, но он проходит только на основной БД:
select  name, (select sum (case 
                 when time_in < time_out then 24*60-abs(datediff(minute, 

time_out, time_in))
else abs(datediff(minute,time_out, time_in))
end) as AT
from Passenger ppp inner join  Pass_in_trip on ppp.ID_psg = 

Pass_in_trip.ID_psg
inner join Trip on Pass_in_trip.trip_no = Trip.trip_no
where p.name = ppp.name
group by name
)
from Passenger p 
where 
(select sum (case 
                 when time_in < time_out then 24*60-abs(datediff(minute, 

time_out, time_in))
else abs(datediff(minute,time_out, time_in))
end) as AT
from Passenger ppp inner join  Pass_in_trip on ppp.ID_psg = 

Pass_in_trip.ID_psg
inner join Trip on Pass_in_trip.trip_no = Trip.trip_no
where p.name = ppp.name
group by name
) = (select max(AT) from (select sum (case 
                 when time_in < time_out then 24*60-abs(datediff(minute, 

time_out, time_in))
else abs(datediff(minute,time_out, time_in))
end) as AT
from Passenger ppp inner join  Pass_in_trip on ppp.ID_psg = 

Pass_in_trip.ID_psg
inner join Trip on Pass_in_trip.trip_no = Trip.trip_no
group by name
) X)



Заранее благодарен

К сообщению приложен файл. Размер - 81Kb
10 мар 14, 15:31    [15699175]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить