2012-01-31 3 views
1

Я пытаюсь найти способ запроса в списке временных диапазонов, назначать задания для разных людей в зависимости от их доступности.поиск по диапазонам времени

Так что я визуализации таблицы, хранящейся в MYSQL:

Person  | Available (day) | Available (hours) | Free (from) | Free (until) 
Mateluna  | Monday   | 10:00 - 13:00  | 10:00  | 13:00 
Mateluna  | Monday   | 15:00 - 19:00  | 15:00  | 19:00 
DelloStritto | Tuesday   | 12:00 - 18:00  | 12:00  | 18:00 
DeFranco  | Monday   | 10:00 - 11:30  | 10:00  | 11:30 
Richardson | Monday   | 08:00 - 10:30  | 08:00  | 10:30 

* Где Free (с) и Free (до) будет генерироваться из доступных (часов)

Идея заключается в том, что я мог бы создать форму, которая запрашивала бы таблицу с такими параметрами, как «Понедельник» & «10:00 - 11:30», и функция вернет DeFranco и Mateluna. Из того, что я могу придумать, было бы связано с необходимостью поиска в «Доступный (день)» и для поиска в пределах «Доступные (часы)» диапазоны времени, которые я не знаю, как это сделать или если возможно.

На данный момент я могу создать что-то, что работает, но оно выглядит более общим, например. Я могу найти «понедельник» и увидеть всех людей по понедельникам, а затем мне придется просмотреть список результатов, чтобы найти людей, которые соответствуют моим потребностям, например.

Mateluna @ 10:00 - 13:00 
DeFranco @ 10:00 - 11:30 
Richardson @ 08:00 - 10:30 

Любая помощь, много оценил о том, как я мог бы подойти к этой проблеме, у меня есть чувство, что это может привлечь того, чтобы хранить информацию по-разному, но я не уверен.

+1

Это должно быть проще, если вы избегаете многозначных столбцов и параметров: «10:00 - 11:30» является многозначным, поскольку содержит 2 значения from_time и to_time. Конечно, вы хотите продолжить вопрос таким образом? – danihp

ответ

0

Я думаю, что для вашей цели вы можете использовать «AND» или «присоединяется» в запросе .... например

выберите * из db_name где доступны (день) =% и доступен часов между% s и% s;

Смежные вопросы