Узнать наличие номеров на определенный диапазон дат в MYSQL - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь сделать это простым. Пожалуйста, прочитайте это и дайте мне решение. Я полностью застрял.

Моя комната Стол

Id  RoomType  Total
1   Single     3
2   Double     2

У меня есть стол бронирования (b - забронировано, c - зарегистрировано, выписано, отменено x)

Id  CustName  FromDate    ToDate      RoomType TotalRoom  Status
1  Cust-1    2020-03-28  2020-03-29   Single      1         b 
2  Cust-2    2020-03-28  2020-03-31   Single      1         c
3  Cust-3    2020-03-28  2020-03-31   Single      1         c 

Все одноместные номера уже используются

Сценарий -1 Я ищу все занятые комнаты со статусом b или c Диапазон дат (с 2020-03-28 по 2020-03-31) Ожидаемый результат

   #  CustName  FromDate    ToDate      RoomType TotalRoom  Status
   1  Cust-1    2020-03-28  2020-03-29   Single      1         b  
   2  Cust-2    2020-03-28  2020-03-31   Single      1         c  
   3  Cust-3    2020-03-28  2020-03-31   Single      1         c  

                      OR

Результат может быть таким же, как и ниже

    #  CustName  Date         RoomType  TotalRoom  Status
    1  Cust-1    2020-03-28   Single      1         b  
    2  Cust-1    2020-03-29   Single      1         b 

    3  Cust-2    2020-03-28   Single      1         c 
    4  Cust-2    2020-03-29   Single      1         c 
    5  Cust-2    2020-03-30   Single      1         c 
    6  Cust-2    2020-03-31   Single      1         c 

    7  Cust-3    2020-03-28   Single      1         c 
    8  Cust-3    2020-03-29   Single      1         c 
    9  Cust-3    2020-03-30   Single      1         c 
   10  Cust-3    2020-03-31   Single      1         c   

Сценарий -2 Я ищу все свободные комнаты с диапазоном дат (с 2020-03-28 по 2020-03-31) Ожидаемый результат

   #   CustName  FromDate    ToDate      RoomType TotalRoom  Status
   1   ""        2020-03-29  2020-03-31   AnyType                  

См. С 29 до 31 на 3 дня. Комната свободна, которую могут заполнить комнаты любого типа.

                              OR

Результат может быть таким же, как и ниже

    #  CustName  Date         RoomType  TotalRoom  Status 
    1  ""        2020-03-29   AnyType                      
    2  ""        2020-03-30   AnyType 
    3  ""        2020-03-31   AnyType                     

Сценарий -3 Я ищу все свободные комнаты с диапазоном дат (с 2020-03-28 по 2020-04-03) Ожидаемый результат

       #  CustName   FromDate    ToDate      RoomType TotalRoom  status
       1  ""        2020-03-29   2020-04-03   Any type                 



                      or

Результат может быть как один ниже

   #  CustName  Date         RoomType  TotalRoom  Status
   1  ""        2020-03-29    Any type                 
   2  ""        2020-03-30    Any type                      
   3  ""        2020-03-31    Any type                       
   4  ""        2020-04-01    Any type                     
   5  ""        2020-04-02    Any type                      
   6  ""        2020-04-03    Any type                   

Как этого добиться. Мне нужна ваша помощь Друзья.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...