Создать серию дат, включая доступные даты из бронирований - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь получить серию дат всех дат, включая доступные даты, просматривая существующие заказы, текущий код такой:

select to_char(generate_series(
min(scheduled_jobs.at),
max(scheduled_jobs.at),
interval '1 day'), 'YYYY-MM-DD') AS "BookingDate", reference, 

CASE WHEN (now(),now()) overlaps 
(bookings.del_datetime,bookings.col_datetime) THEN 'On Demo' 
WHEN now() > bookings.col_datetime THEN 'Complete' 
WHEN NOT EXISTS (select 
to_char(generate_series(
min(scheduled_jobs.at),
max(scheduled_jobs.at),
interval '1 day'), 'YYYY-MM-DD')) THEN 'Available'
ELSE 'Advanced Booking'
END AS "Booking Status"
from scheduled_jobs

LEFT OUTER JOIN bookings ON scheduled_jobs.jobable_id = bookings."id"
LEFT JOIN dates_table ON to_char(bookings.del_datetime, 'YYYY-MM-DD') = 
dates_table.booking_date
where bookings.registrations = 'REG123'
GROUP BY bookings.registrations, bookings.del_datetime, 
bookings.col_datetime, bookings.reference
order by 1 ASC

В настоящее время я получаю Complete, On Demo и Advanced, но также хочу показать Available. Получение этого результата

BookingDate | ссылка | Статус бронирования

2018-08-30 | 123456789 | Полное

2018-09-06 | 222222222 | На демоверсии

2018-09-07 | 222222222 | На демоверсии

2018-09-08 | 222222222 | На демоверсии

2018-09-12 | 789789789 | Предварительное бронирование

2018-09-13 | 789789789 | Предварительное бронирование

То, что я хотел бы показать, это доступные даты в Betwen, например:

BookingDate | ссылка | Статус бронирования

2018-09-06 | 222222222 | На демоверсии

2018-09-07 | 222222222 | На демоверсии

2018-09-08 | 222222222 | На демоверсии

2018-09-09 | ......... | Доступно

2018-09-10 | ......... | Доступно

2018-09-11 | ......... | Доступно

2018-09-12 | 789789789 | Предварительное бронирование

2018-09-13 | 789789789 | Предварительное бронирование

Большое спасибо

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