Задавайте вопросы, мы ответим
Вы не зашли.
база billing_reserve
[id] [num_id] [start_res] [end_res]
int(10) varshar date date
1 100 2010-08-09 2010-08-10
2 100 2010-08-13 2010-08-17
...................
300 106 2010-08-16 2010-08-17
301 112 2010-08-16 2010-08-19
задача выбрать свободные номера (num_id) в период с ($form:from) до ($form:to) начиная с текущей даты ($form:now)
Заранее огромное спасибо, за любой намёк на реализацию этого запроса!!!!!
Неактивен
У Вас не совсем понятная формулировка. Как только Вы для себя разъясните,
что значит «в период с … по» и «начиная с даты» — сразу напишется запрос.
Т.е. если «в период» — это «строки из таблицы попадают целиком в период»,
то start_res >= form:from AND end_res <= form:to. Если «период из таблицы
перекрывается с периодом из формы, то
start_res BETWEEN (form:from AND form:to) OR end_res BETWEEN (…).
Аналогично про «начиная с» — нужно выбрать, какой из столбцов должен
быть меньше form:now. Ну и потом объединить всё через AND.
Неактивен