|
|
|
| Здравствуйте, господа!
Прошу помощи в таком вопросе: есть два поля с датами - начальная дата и конечная дата (даты пребывания людей в отеле). Например необходимо выбрать записи в которых люди находились в отеле с 10.10.10г. по 20.10.10г. Как правильно построить запрос? Например люди могли проживать с 09.10.10г. по 21.10.10г. т.е. в период с 10.10.10г. по 20.10.10г. они в отеле были - эта запись должна выводиться. Или люди бывшие в отеле с 12.10.10г. по 14.10.10г. - тоже попали в этот период с 10.10.10г. по 20.10.10г. Эта запись доже должна выводиться. | |
|
| |
|
|
|
| Должен быть запрос на пересечение интервалов, алгоритм:
'Интервалы пересекаются = Not (D < A Or C > B)
'Где A начало первого периода
'Где B конец первого периода
'Где C начало второго периода
'Где D конец второго периода
|
| |
|
| |
|
|
|
| ... WHERE ([начальная дата] <= [По дату]) AND ([конечная дата] >= [С даты]) | |
|
| |
|
|
|
| Может наоборот? Больше начальной даты и меньше конечной? | |
|
| |
|
|
|
| А попробовать?!
Если по вашему - покажет только тех, кто вселился и съехал в течение указанного периода. | |
|
| |