В MS SQL Server 2008 R2 у меня есть таблица Foo, и для каждой вставки и обновления в Foo я также вставляю в FooAuditLog дату, пользователя, PK FooId и несколько других столбцов Foo, включая одно числовое значение, назовите его cxp.Выберите только изменения для значения из таблицы журнала аудита
Теперь мне нужно получить историю изменений в cxp с течением времени для данного FooId. Но можно сохранить Foo без изменения cxp, и мне нужно игнорировать эти значения.
Например, если записи журнала аудита для конкретного Foo (т.е. select date, user, cxp from FooAuditLog where fooId=17
) выглядеть следующим образом:
Date User Cxp
-------------------------
10/26 Fred 42
10/28 George 38
11/7 Tom 38
11/9 Fred 38
11/12 Joe 33
11/14 Tom 33
11/18 George 38
Тогда мне нужно изменить запрос, чтобы вернуться только:
Date User Cxp
-----------------------------
10/26 Fred 42
10/28 George 38
11/12 Joe 33
11/18 George 38
И игнорировать записи 11/7, 11/9 и 11/14. Я считал select distinct (cpx) ... group by date
, но мне нужно записать запись, в которой значение возвращается к предыдущему значению.
Какие СУБД вы используете? – Taryn
Какова ваша логика, игнорируя «11/7, 11/9 и 11/14' ?. – Kaf
@Kaf: Я хочу только выбрать записи журнала, в которых изменилось требуемое значение (cxp). В указанные даты cxp такой же, как и при последнем сохранении. – cobaltduck