msm1982 затрагивал вопрос о ведении истории значений в таблице.
Кто-нибудь этим занимался?
Как красивее реализовать выборку из истории на дату?
В качестве примера можно использовать предложенные msm1982 таблицы.
Здравствуйте, ds_dimka, Вы писали:
_>msm1982 затрагивал вопрос о ведении истории значений в таблице.
Какими он только вопросами не озадачивался. _>Кто-нибудь этим занимался?
Занимался. _>Как красивее реализовать выборку из истории на дату?
Построить индекс _>В качестве примера можно использовать предложенные msm1982 таблицы.
Не, те таблицы, даже в качестве примера, использовать не рекомендую.
Никогда не бойся браться делать то, что делать не умеешь. Помни, ковчег был построен любителем. Профессионалы построили Титаник...
Предлагаю пример:
Есть таблица со сведениями об учениках класса:
scool {scool_id,fio}
Таблица, где указаны мальчики
scoolboy {scoolboy_id,scool_id,PenisLength}
Таблица, где указаны девочки
scoolgirl {scoolgirl_id,scool_id,TitsSize}
Наконец, история дружбы мальчиков с девочками с указанием даты начала отношений
(положим, мальчики дружат только с девочками своего класса и отношения гетеросексуальны и моногамны)
lovestory {lovestory_id,scoolboy_id,scoolgirl_id,DateBegin}
Предположим также что возникновение связи с новой подружкой автоматически прекращает связь со старой,
а также что наличие записи в этой таблице со значением scoolgirl_id = NULL означает, что мальчик с этой
даты считается одиноким вплоть до возникновения новой связи
Вопрос: необходимо одной инструкцией получить информацию о пристрастиях мальчиков на ЗАДАННУЮ ДАТУ
т.е. {scoolboy_id,fio_boy,scoolgirl_id,fio_girl} на дату dt
Если у мальчика на данный момент нет пристрастий, он всё равно должен попасть в таблицу,
просто вместо девочки должен быть NULL
Здравствуйте, ds_dimka, Вы писали:
_>msm1982 затрагивал вопрос о ведении истории значений в таблице. _>Кто-нибудь этим занимался? _>Как красивее реализовать выборку из истории на дату? _>В качестве примера можно использовать предложенные msm1982 таблицы.
два дополнительных поля в таблице — begin_date end_date
выборка на дату — where :date between begin_date and end_date