SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 17.08.2010 22:43:39

orangecat
Участник
Зарегистрирован: 02.05.2010
Сообщений: 9

Помогите с запросом!!! Зашел в тупик :(

база 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)

Заранее огромное спасибо, за любой намёк на реализацию этого запроса!!!!!

Неактивен

 

#2 18.08.2010 00:46:42

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите с запросом!!! Зашел в тупик :(

У Вас не совсем понятная формулировка. Как только Вы для себя разъясните,
что значит «в период с … по» и «начиная с даты» — сразу напишется запрос.

Т.е. если «в период» — это «строки из таблицы попадают целиком в период»,
то start_res >= form:from AND end_res <= form:to. Если «период из таблицы
перекрывается с периодом из формы, то
start_res BETWEEN (form:from AND form:to) OR end_res BETWEEN (…).

Аналогично про «начиная с» — нужно выбрать, какой из столбцов должен
быть меньше form:now. Ну и потом объединить всё через AND.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson