25.12.2006, 14:32 | #1 |
Участник
|
Уважаемые программеры, я начинающий, не хватает опыта, прошу за вопрос не пинать
Пытаюсь сделать историю изменения набора реквизитов, по жизни все меняется и порой задним числом (спасибо партии родной). Имеем таблицу вида(пусть для одного реквизита): ID_R(Реквизит) | Date_R(ДатаИзменения) | Value_R(ЗначениеРеквизита) Как эффективно выбрать набор значений за период (С .. По.. ) времени, с учетом того что в результирующий набор нужно включать предыдущее значение реквизита.. т.е. значение которое имело место быть на начало выбираемого периода? Ну типа из этого: =================== ... PODR 01.01.1990 Хоз.отдел PODR 01.01.1991 Секритариат PODR 15.08.06 Бухгалтерия PODR 01.09.06 Руководство с 01.08.06 по 31.12.06 получить: PODR 01.01.1991 Секритариат PODR 15.08.06 Бухгалтерия PODR 01.09.06 Руководство ... Конечно все намного сложнее, но поскльку важна лишь суть упрощаю. Да и таблица не 10 записей а большая.. Раньше такое делали исп. подзапросы (inner join) ну т.е. в подзапросе находили макс значение даты по реквизиту до начала периода по которому запрашиваем и включали значения попадающие в диапазон дат и значение которое равнялось макс значению даты из подзапроса. Как тут быть чтобы не тащить все записи на клиента? |
|