Поиск ближайшего рабочего дня по графику SQL

Есть таблица (PEOP_INF) с сотрудниками в разрезе дней , кол-вом набранных ими баллов и кол-вом часов за которое они набрали эти баллы. Таблица имеет вид: PEOP (Идентификатор сотрудника), Дата набора баллов (D_DATE), QTY_BALLS (кол-во баллов), QTY_HOURS (кол-во часов)

И есть таблица (PEOP_HIST) история работы по каждому сотруднику в разрезе дней Имеет вид: PEOP_ID (Идентификатор сотрудника), Отчетная дата (DATE_HIST), Признак рабочего дня (значения Y/N) (PR_WORK)

По тем сотрудникам, у которых кол-во часов равно нулю, а кол-во баллов не равно нулю, необходимо переносить баллы в ближайший следующий рабочий день у сотрудника по графику

select PEOP, 
       min(DATE_HIST) as "DATE_NEXT"
  from PEOP_HIST as t1
  join PEOP_INF as t2 on t1.DATE_HIST >= t2.D_DATE
                      and t1.PEOP_ID = t2.PEOP

where QTY_HOURS = 0
and QTY_BALLS != 0
and PR_WORK = 'Y'
and t1.DATE_HIST > t2.D_DATE
group by PEOP

Такой вариант не подходит, так как выбирает только одну из всех, а необходимо по каждой дате выбирать ее ближайшую. К примеру у сотрудника 12.03.2020 и 19.03.2020 выходной и нужно по этим датам получить ближайшие рабочие по графику, к примеру 13.03.2020 и 20.03.2020 соответственно


Ответы (0 шт):