Я делаю простую систему бронирования для наших проекторов на работе.
Вот сценарий.Каждый проектор может иметь доступность сегментов по четверти часа в течение всего дня.т.е. проектор 1 доступен с 8:15 до 13:45 и с 15:00 до 17:15 каждый день (также можно изменить, чтобы установить разные возможности для каждого дня).Проектор можно забронировать на любой отрезок времени в течение дня, пока он доступен.Итак, я получил эту настройку в моей базе данных sql (с моим внешним интерфейсом asp.net mvc).
У меня вопрос, каков наилучший способ поиска в этом сценарии.то есть пользователь А приходит и говорит, что найди мне проекторы, которые будут доступны в эту пятницу с 12 до 15Я изо всех сил пытаюсь написать эффективный SQL-запрос, который отфильтрует это.Мой лучший вариант на данный момент - отозвать все проекторы и затем программно решить, если они доступны и не забронированы в это время.Это работает, но невероятно неэффективно.Я наткнулся на идею использования временной таблицы, сгенерированной хранимым процессом, который может быть отфильтрован, но его там нет.
У кого-нибудь есть идеи, как я могу подойти к этому?
Спасибо взаранее