ник: Силыч
что значит неудобно?!
считайте в минутах.
в MS SQL вот так делал. тоже самое можно в Access только вместо Case-When использовать IIF
Определить пассажиров, которые больше других времени провели в полете.
Вывод: имя пассажира, время полета в минутах.
select p2.name,x.ss
from (select p.id_psg,
sum((case when t.time_out>t.time_in
then 1440-(abs(datediff(mi,t.time_out,t.time_in)))
else datediff(mi,t.time_out,t.time_in)
end)) ss
from trip t, pass_in_trip pt, passenger p
where t.trip_no=pt.trip_no and pt.id_psg=p.id_psg
group by p.id_psg
) x, passenger p2
where x.ss=(select max(y.ss) from (
select p.id_psg,
sum((case when t.time_out>t.time_in
then 1440-(abs(datediff(mi,t.time_out,t.time_in)))
else datediff(mi,t.time_out,t.time_in)
end)) ss
from trip t, pass_in_trip pt, passenger p
where t.trip_no=pt.trip_no
and pt.id_psg=p.id_psg
group by p.id_psg
) y)
and p2.id_psg=x.id_psg