Я пытаюсь сделать это простым. Пожалуйста, прочитайте это и дайте мне решение. Я полностью застрял.
Моя комната Стол
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
Как этого добиться. Мне нужна ваша помощь Друзья.