Как создать выборку по макс. дате...?
Добавлено: 15 ноя 2014, 15:25
Здравствуйте!
Не знаю, как точно объяснить задачу, но смысл приблизительно такой... Если таблица содержащая счета, даты и статусы этих счетов. Статус может меняться в течение месяца! Так вот, нужно выбрать за месяц те счета и подсчитать их кол-во, у которых к концу текущего месяца статус подпадает под условие выборки (STATUS='-') и после не изменился, опять-же в текущем месяце! Выборка по MAX(DATE) не подходит, т.к. выводит максимальную дату с нужным статусом счёта, но далее не проверяет изменился-ли статус после...
Я набросал схематичную табличку ниже - так вот, если соблюдать условия запроса, то в выборку не должны попасть ни счёт 1001, ни 1002, т.к. к максимальной дате последний их статус изменился на "+"... А вот счёт 1003 - попадает в итоговую выборку...
Как смог объяснил...
Знаний мало, прошу простить, но очень надеюсь на помощь знающих людей! Заранее очень благодарен откликнувшимся!
ACC STATUS DATE
1001 + 2014-01-01
1002 - 2014-01-02
1001 + 2014-01-03
1001 - 2014-01-04
1002 + 2014-01-05
1002 - 2014-01-06
1003 - 2014-01-06
Не знаю, как точно объяснить задачу, но смысл приблизительно такой... Если таблица содержащая счета, даты и статусы этих счетов. Статус может меняться в течение месяца! Так вот, нужно выбрать за месяц те счета и подсчитать их кол-во, у которых к концу текущего месяца статус подпадает под условие выборки (STATUS='-') и после не изменился, опять-же в текущем месяце! Выборка по MAX(DATE) не подходит, т.к. выводит максимальную дату с нужным статусом счёта, но далее не проверяет изменился-ли статус после...
Я набросал схематичную табличку ниже - так вот, если соблюдать условия запроса, то в выборку не должны попасть ни счёт 1001, ни 1002, т.к. к максимальной дате последний их статус изменился на "+"... А вот счёт 1003 - попадает в итоговую выборку...
Как смог объяснил...
Знаний мало, прошу простить, но очень надеюсь на помощь знающих людей! Заранее очень благодарен откликнувшимся!
ACC STATUS DATE
1001 + 2014-01-01
1002 - 2014-01-02
1001 + 2014-01-03
1001 - 2014-01-04
1002 + 2014-01-05
1002 - 2014-01-06
1003 - 2014-01-06