2016-07-25 2 views
0

У меня есть таблица в базе данных, которая хранит историю/изменения. Мне нужны данные из таблицы с изменениями, внесенными только в один конкретный атрибут.Нужна помощь по запросу SQL sql для получения данных истории

Например, скажем, что для определенных записей сервера состояние было «включено» в 1-й день и отключено на 2-й день, а в третий день изменился другой атрибут, и снова в день 4 состояние сервера вернулось к на. Теперь мне нужны только изменения в отношении состояния сервера, и я не заинтересован в каких-либо других изменениях, внесенных в запись сервера.
Может кто-то пожалуйста, сообщите мне, если рекурсивный SQL или автообъединение бы помочь мне получить соответствующие результаты ...

любые предложения будут оценены более

+1

Данные примера и желаемые результаты действительно помогают объяснить ваши намерения. –

+0

Названия \t государственных \t \t среды метки время SRV1 \t \t на DEV \t 22.06.2016 SRV1 \t \t от разработчика \t 22.06.2016 SRV1 \t \t на DEV \t 22.06.2016 SRV1 \t \t от DEV \t 23.06.2016 SRV1 \t off \t prod \t 13.07.2016 SRV1 \t по \t prod \t 14.07.2016 SRV1 \t off \t prod \t 01.01.9999 Я дал образец таблицы, и мне нужен сервер и его изменения состояния. Но, когда мы смотрим, состояние не изменилось 13.07.2016, и это изменение env. Я хочу, чтобы имя сервера, состояние и отметка времени, когда конкретная запись сервера была изменена, а не какие-либо другие изменения – saranya

ответ

0

Самосоединение кажется уместным.

Очки внимания:

Регистрация только те строки, которые относятся к одной и той же теме (Дух), сохраняя STATE_1/Дата_1 и state_2/Дата_2, сохраняют только те, где оба государства различны, сохраняют только те такие, что дата_2 > date_1 и, наконец, добавить условие фильтра, используя WHERE NOT EXISTS (...), что не может быть промежуточной даты_3 между date_1 и date_2 для одного и того же объекта.

+0

Имя Временная метка среды состояния SRV1 на dev 22.06.2016 SRV1 off dev 22.06.2016 SRV1 на dev 22.06.2016 SRV1 off dev 23.06.2016 SRV1 off prod 13.07.2016 SRV1 on prod 14.07.2016 SRV1 off prod 01.01.9999 Я дал примерную таблицу, и мне нужен сервер и его изменения состояния. Но, когда мы смотрим, что состояние не изменилось 13.07.2016, и это изменение env. Я хочу, чтобы имя сервера, состояние и отметка времени, когда была изменена конкретная запись сервера, а не какие-либо другие изменения. Может кто-то дать дополнительные идеи для получения результатов. Я также дал те же данные здесь – saranya

Смежные вопросы