Я создаю веб-приложение, в котором клиент может заказать услугу у бизнеса (поставщика) . но первому поставщику необходимо добавить, какие услуги он предоставляет, где он может предоставлять эти услуги и с в какое время (время начала), в какое время (время окончания) сколько пользователей доступно
поэтому я сбиваю с толку, если предположим, что клиент заказывает услугу на определенное время, а когда другой клиент заказывает услугу у этого поставщика, мы должны рассчитать, является ли количество пользователей, доступных в этот период времени, больше, чем количество уже забронированных (которыееще не завершено) в это конкретное время
у меня есть эти три таблицы
users = (for both customer & vendors)
id | name | address | role_id
1 | Customer | some address | 1
2 | Vendor | Some Address | 2
3 | Another Customer | Some address | 1
4 | Another Vendor | address | 2
vendor_available_time = (only for vendor)
id | date_start_time | date_end_time | no_of_users |vendor_id
1 | 2019-10-16 00:00:00 | 2019-19-16 23:59:59 | 3 | 2
1 | 2019-10-16 09:00:00 | 2019-19-16 17:00:00 | 1 | 4
1 | 2019-10-17 00:00:00 | 2019-19-17 23:59:59 | 3 | 2
1 | 2019-10-17 09:00:00 | 2019-19-17 17:00:00 | 2 | 4
bookings = (for both)
id | booking_status | booking_datetime | customer_id | vendor_id
1 | job started | 2019-10-16 10:00:00 | 1 | 2
1 | completed | 2019-10-15 10:00:00 | 1 | 2
1 | accepted | 2019-10-16 09:00:00 | 3 | 2
1 | work in progress | 2019-10-16 09:00:00 | 3 | 2
, пожалуйста, помогите мне с запросом
, где я могу получитьвсе поставщики, чьи no_of_users больше, чем count (бронирования), где booking_datetime> = date_start_time и booking_datetime
Любое предложение будетБуду очень признателен, могу ли я получить эти результаты из одного запроса, если я буду использовать несколько запросов или я должен изменить свойструктура базы данных
Требуемый вывод - это просто user_ids, которые доступны для этого периода времени и количество пользователей которых превышает количество заказов на это время