powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как найти дату, когда изменились данные
8 сообщений из 8, страница 1 из 1
Как найти дату, когда изменились данные
    #39619470
a4raa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Я здесь впервые, поэтому прошу помочь решить задачку именно Вас. Если же задача подобного рода уже здесь встречалась, если не сложно дайте ссылочку. В любом случае буду благодарен любой помощи.

есть таблица, в которой содержаться записи статусов операторов кол-центра. у каждого оператора свой статус, может изменяться каждый день, но в рамках одного дня он неизменен.

OperatorDateStatusa01.03.2018в системеb01.03.2018в системеc01.03.2018перерывa02.03.2018в системеb02.03.2018в системеc02.03.2018перерывa03.03.2018Занятb03.03.2018Занятc03.03.2018перерывa04.03.2018Занятb04.03.2018Занятc04.03.2018перерывa05.03.2018в системеb05.03.2018Вышелc05.03.2018Вышелa06.03.2018в системеb06.03.2018в системеc06.03.2018перерывa07.03.2018перерывb07.03.2018в системеc07.03.2018в системеa08.03.2018Вышелb08.03.2018Вышелc08.03.2018в системе

Необходимо вывести всю информацию по операторам и день когда изменился статус оператора по сравнению с предыдущим днем.

На примере одного оператора, я так понял, что нужно получить таблицу такого плана:

ОператорДатаСтатуcДата измененияновый статусa01.03.2018в системе03.03.2018Занятa04.03.2018Занят05.03.2018в системеa06.03.2018в системе07.03.2018перерывa07.03.2018перерыв08.03.2018Вышел


Ребят, как думаете, это выполнить вообще реально? И если да, плиз Help me!

Заранее всем спасибо за помощь
...
Рейтинг: 0 / 0
Как найти дату, когда изменились данные
    #39619478
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
STFF start_of_group
...
Рейтинг: 0 / 0
Как найти дату, когда изменились данные
    #39619483
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a4raa,
табличку с данными можете оформить в виде
with t as (
select .... uniom all
....
)

ps
ленюсь, весна возможно влияет
.....
stax
...
Рейтинг: 0 / 0
Как найти дату, когда изменились данные
    #39619502
a4raa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Staxa4raa,
табличку с данными можете оформить в виде
with t as (
select .... uniom all
....
)

ps
ленюсь, весна возможно влияет
.....
stax

Пожалуйста, главное помогите

with t as
(select 'a' Operator, '01.03.2018' Dates, 'в системе' Status from dual
union all
select 'b', '01.03.2018', 'в системе' from dual
union all
select 'c', '01.03.2018', 'перерыв' from dual
union all
select 'a', '02.03.2018', 'в системе' from dual
union all
select 'b', '02.03.2018', 'в системе' from dual
union all
select 'c', '02.03.2018', 'перерыв' from dual
union all
select 'a', '03.03.2018', 'занят' from dual
union all
select 'b', '03.03.2018', 'занят' from dual
union all
select 'c', '03.03.2018', 'перерыв' from dual
union all
select 'a', '04.03.2018', 'занят' from dual
union all
select 'b', '04.03.2018', 'занят' from dual
union all
select 'c', '04.03.2018', 'перерыв' from dual
union all
select 'a', '05.03.2018', 'в системе' from dual
union all
select 'b', '05.03.2018', 'вышел' from dual
union all
select 'c', '05.03.2018', 'вышел' from dual
union all
select 'a', '06.03.2018', 'в системе' from dual
union all
select 'b', '06.03.2018', 'перерыв' from dual
union all
select 'c', '06.03.2018', 'перерыв' from dual
union all
select 'a', '07.03.2018', 'перерыв' from dual
union all
select 'b', '07.03.2018', 'в системе' from dual
union all
select 'c', '07.03.2018', 'в системе' from dual
union all
select 'a', '08.03.2018', 'вышел' from dual
union all
select 'b', '08.03.2018', 'вышел' from dual
union all
select 'c', '08.03.2018', 'в системе' from dual
)
select t.* from t
...
Рейтинг: 0 / 0
Как найти дату, когда изменились данные
    #39619537
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
select *
from
   (select t.*, 
    lag(Status) over (partition by Operator order by to_date(Dates, 'dd.mm.yyyy')) lg
    from t
   )
where lnnvl(lg = status);
...
Рейтинг: 0 / 0
Как найти дату, когда изменились данные
    #39619595
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a4raa,

для
O DATES STATUS
- -------- ---------
a 01.03.18 в системе
a 02.03.18 в системе
a 03.03.18 занят
a 04.03.18 занят
a 05.03.18 в системе
a 06.03.18 в системе
a 07.03.18 в системе
a 08.03.18 в системе
a 09.03.18 в системе
a 10.03.18 перерыв
a 11.03.18 перерыв
a 12.03.18 перерыв
a 13.03.18 вышел
a 14.03.18 вышел
a 15.03.18 перерыв
a 16.03.18 в системе
a 17.03.18 вышел
a 18.03.18 занят

что получить?

дырки в датах могут быть?

.....
stax
...
Рейтинг: 0 / 0
Как найти дату, когда изменились данные
    #39619599
a4raa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

теоретически могут быть. На практике не знаю. Как по мне функция lead не совсем корректно отрабатывает. Я пробовал, у меня херня получается. а там хз.
...
Рейтинг: 0 / 0
Как найти дату, когда изменились данные
    #39619779
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a4raa,
lead нормально отрабативает (мож просто его одного замало)

не совсем понятно что надо получить

покажите какой результат надо для 21281217

.....
stax
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как найти дату, когда изменились данные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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