Расчет общего времени

drummer84
Дата: 19.12.2011 15:39:15
Необходимо посчитать общее время нахождения человека за день. естественно человек может задень N кол-во раз ходить туда сюда.
Голову сломал, можно сделать это запросом или нет ?

Дата Время.Время Событие ФИО
02.11.2011 8:57 Вход пупкин василь иваныч
02.11.2011 13:29 Выходпупкин василь иваныч
02.11.2011 14:16 Вход пупкин василь иваныч
02.11.2011 18:00 Выходпупкин василь иваныч
03.11.2011 17:55 Выходпупкин василь иваныч
03.11.20118:57 Вход пупкин василь иваныч
03.11.2011 13:36Выходпупкин василь иваныч
03.11.2011 14:20 Входпупкин василь иваныч
08.11.2011 18:02 Выходпупкин василь иваныч
08.11.2011 14:29 Входпупкин василь иваныч
08.11.2011 8:59Вход пупкин василь иваныч
08.11.2011 13:46 Выходпупкин василь иваныч
09.11.2011 8:56Входпупкин василь иваныч
09.11.2011 13:30Выходпупкин василь иваныч
09.11.2011 14:14 Входпупкин василь иваныч
09.11.2011 18:00 Выходпупкин василь иваныч
10.11.2011 18:04 Выходпупкин василь иваныч
10.11.2011 8:56Входпупкин василь иваныч
10.11.2011 14:02Вход пупкин василь иваныч
10.11.2011 13:24Выходпупкин василь иваныч
11.11.2011 8:52 Вход пупкин василь иваныч
11.11.2011 13:31Выходпупкин василь иваныч
11.11.2011 14:09Вход пупкин василь иваныч
11.11.2011 18:02Выходпупкин василь иваныч
alvk
Дата: 19.12.2011 15:46:50
drummer84,

select ФИО, дата, sum(время) as общее_время from tab2 group by ФИО, дата
drummer84
Дата: 19.12.2011 15:51:38
alvk, там ещё есть поле событие, исходя из которого нужно вычитать то время которое человек находился вне здания.
alvk
Дата: 19.12.2011 15:58:46
alvk,

не, не так
mds_world
Дата: 19.12.2011 16:21:59
Если в течение одного рабочего дня требуется учет, то можно так
select format(sout-sint,"hh:mm:ss")
from (select datevalue(ПолеДаты) as dt, FIO, sum(ПолеДаты) as sint from tabl where Событие="Вход" group by FIO, datevalue(ПолеДаты)) t1, 
(select datevalue(ПолеДаты) as dt, FIO, sum(ПолеДаты) as sout from tabl where Событие="Выход" group by FIO, datevalue(ПолеДаты)) t2,
t1 inner join t2 on t1.FIO=t2.FIO and t1.dt=t2.dt
softmaster
Дата: 19.12.2011 19:35:43
Если интересно есть подобная база , в приложении , если разберешься , на здоровье, в свое время
примерно 2005 год в ее реализации мне помог karfagen за что ему спасибо!
alvk
Дата: 20.12.2011 04:44:31
правильно, нужно было склеить дату и время.
drummer84
Дата: 20.12.2011 10:04:00
softmaster спасибо посмотрю.
Предварительно сделал так: суммировал время входа и время выхода, потом из суммы времени выхода вычел сумму времени входа. и с группировой по дате и фио получил общее время по человеку.