то есть насколько я понял мысль Мелкого, возможно слегка измененная.
есть таблица тайм ренжов. в ней описаны все возможные ренжи до той детализации которая нам нужна. к примеру до получаса
00:00 00:30
00:30 01:00
01:00 01:30
.....
23:30 00:00
когда мы сохраняем или обновляем время работы заведения мы сохраняем в таблице много-ко-многим все ключи ренжев которые нам подходят.
и после делаем поиск просто по таблице ренжев и смотрим есть ли найденный индекс у этого заведения
единственный момент надо продумать про граничные значения. где использовать 00:59 итд, потому что если я захочу посмотреть кто работает в 01:00 то у меня вроде как будет срабатывать условие от 01:00 до 01:30 хотя возможно заведение закрывается в час
короче подумав делаю вывод что все таки нужно хранить второе время как на минуту меньшее
00:00 00:29
00:30 00:59
01:00 01:29
.......
23:30 23:59
заморочка приличная, но если вариант со сложным WHERE не подходит, то в помощь придут 2 joina и односложный where (Отредактировано автором: 16 Ноября, 2015 - 10:11:39)
|