Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Расчёт временных промежутков  [new]
Genniy
Member

Откуда:
Сообщений: 141
Привет всем!
Если кто сталкивался с такой задачей, поделитесь опытом!

Есть зада фиксировать время человека в помещении и не в помещении.
Факт прохода человека ложится в таблицу (событий) в виде: ID-объекта, направление движения(вход/выход), время события.
Нужно анализируя таблицу событий переложить эти данные в другую таблицу, в которой будет храниться информация о временных промежутка нахождения объекта в/вне помещения. Например, в виде: Время входа в помещение, время выхода из помещения, ID-объекта.
24 июл 11, 15:39    [11019301]     Ответить | Цитировать Сообщить модератору
 Re: Расчёт временных промежутков  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
Как-то так:
select
 t.ID,
 t.[Время] as [Время входа],
 x.[Время] as [Время выхода]
from
 [Таблица] t cross apply
 (select top (1) [Время] from [Таблица] where ID = t.ID and [Признак] = 'Выход' and [Время] > t.[Время] order by [Время]) x
where
 t.[Признак] = 'Вход'
24 июл 11, 16:09    [11019410]     Ответить | Цитировать Сообщить модератору
 Re: Расчёт временных промежутков  [new]
Genniy
Member

Откуда:
Сообщений: 141
invm,
Cпасибо за ответ.

У кого может быть есть ещё варианты?
24 июл 11, 23:49    [11020499]     Ответить | Цитировать Сообщить модератору
 Re: Расчёт временных промежутков  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
Genniy
У кого может быть есть ещё варианты?
Вариант - определиться с алгоритмом до программирования, а не после :-)

Если человек 1 раз вошёл, а потом 3 раза вышел, то сколько он находился вне помещения?
25 июл 11, 00:00    [11020523]     Ответить | Цитировать Сообщить модератору
 Re: Расчёт временных промежутков  [new]
Genniy
Member

Откуда:
Сообщений: 141
alexeyvg,

Да это вообще очень проблемное место...
Нужно брать последний выход.
25 июл 11, 12:40    [11022303]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить