Проблема, с которой я столкнулся, заключается в том, что мой запрос не будет складывать/суммировать количество гостей в перекрывающиеся даты. .
В моей базе данных есть следующие таблицы:
бронирования
Код: Выделить всё
id_res checkin checkout
1 2024-11-08 2024-11-12
2 2024-12-13 2025-01-06
3 2024-12-17 2025-01-10
4 2024-12-20 2025-01-11
5 2024-12-27 2025-01-09
Код: Выделить всё
id_guest name
1 Joe
2 Mary
3 Anne
4 John
5 Paul
6 Dan
7 Peter
Код: Выделить всё
id_r id_res id_guest
1 1 1
2 2 2
2 2 4
2 2 4
2 2 5
2 2 7
2 3 4
3 3 5
3 3 6
Код: Выделить всё
SELECT r.id_res, r.checkin, r.checkout, COUNT(rc.id_guest) AS total_guests
FROM reservations AS r
INNER JOIN rel_reservations_guests AS rc ON rc.id_res = r.id_res
INNER JOIN guests AS g ON g.id_guest = rc.id_guest
WHERE r.checkin >= '2024-11-01'
GROUP BY r.checkin
ORDER BY r.checkin ASC
Код: Выделить всё
id_res checkin checkout total_guests
1 2024-11-08 2024-11-12 1
2 2024-12-13 2025-01-06 5
3 2024-12-17 2025-01-10 2
4 2024-12-20 2025-01-11 3
Код: Выделить всё
Date total_guests
2024-11-08 1
2024-11-09 1
...
2024-12-13 5
2024-12-14 5
...
2024-12-17 8
...
Подробнее здесь: https://stackoverflow.com/questions/791 ... s-on-mysql
Мобильная версия