powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Report Builder, сравнить текушую запись с предедущей (найди повторяющиеся записи подряд)
1 сообщений из 1, страница 1 из 1
Report Builder, сравнить текушую запись с предедущей (найди повторяющиеся записи подряд)
    #39102640
r12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
r12
Гость
Здравствуйте, нужна Ваша помочишь!
Отчет написан в Report Builder 3.0

Выводится таблица работников с проходами через турникеты, сортировка идет по работнику и дате, примерно так:

Иванов 10.10.2015 10:00 вход
10.10.2015 11:00 выход
11.10.2015 12:00 вход
11.10.2015 13:00 выход

Петров 10.10.2015 09:00 вход
10.10.2015 10:00 выход
11.10.2015 11:00 вход
11.10.2015 12:00 выход

Бывают случаи когда работник каким то образом входит или выходит 2 и более раз подряд (передает свой пропуск другим лицам)

Иванов 10.10.2015 10:00 вход
10.10.2015 11:00 выход
10.10.2015 11:05 выход

11.10.2015 12:00 вход
11.10.2015 13:00 выход

Петров 10.10.2015 09:00 вход
10.10.2015 10:00 выход
11.10.2015 11:00 вход
11.10.2015 12:00 выход


Помогите переделать запрос, что бы выводился в отчет только тех работников которые вошли (вышли) несколько раз подряд.... Т.е. например зашел 2 раза подряд и не было между входами выхода.
Насколько я понимаю надо сравнить одну строку с предыдущей и выбрать совпадающие строку
Вход-выход записывается с таблицу READER.enter_exit


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT   EVENTS.EVENTIME,  CONVERT(date, EVENTS.EVENTIME) AS EnterDATA, CONVERT(time, EVENTS.EVENTIME) AS EnterTIME, READER.NAMES, READER.enter_exit, DEPT.NAME, 
                      DIVISION.NAME AS Expr1, EMP.LASTNAME+' '+ EMP.FIRSTNAME+' '+EMP.MIDNAME AS FIO, EMP.SSNO
FROM         DIVISION INNER JOIN
                      EMP INNER JOIN
                      UDFEMP ON EMP.ID = UDFEMP.ID INNER JOIN
                      DEPT ON UDFEMP.DEPT = DEPT.ID INNER JOIN
                      EVENTS INNER JOIN
                      READER ON EVENTS.DEVID = READER.READERID AND EVENTS.MACHINE = READER.PANELID ON EMP.ID = EVENTS.EMPID ON 
                      DIVISION.ID = UDFEMP.DIVISION
WHERE     (DIVISION.NAME = @шифр or @шифр is null) and (CONVERT(date, EVENTS.EVENTIME) >= @дата_С) and (CONVERT(date, EVENTS.EVENTIME) <= @дата_ПО) and (EMP.LASTNAME = @фамилия or @фамилия is null) --and DIVISION.NAME <> 'фирма'
ORDER BY FIO DESC, EnterDATA, EnterTIME




Спасибо за помощь!
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Report Builder, сравнить текушую запись с предедущей (найди повторяющиеся записи подряд)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]