Необходимо вернуть МАКС (ДАТА), который попадает в диапазон дат (обычно 1 неделя), который составляет 1 месяц или более в будущем - PullRequest
0 голосов
/ 27 декабря 2018

У меня есть таблица (PM_ACTION_LOG) для записей обслуживания, столбцы: ITEM, PM_TYPE, LOCATION, DATE

Мне нужно получить только записи, которые MAX(DATE) для каждого «предмета», который был не менее 1 месяца с последней даты.Диапазон дат обычно составляет неделю.

Это близко, но не возвращает просроченные пропущенные даты, которые не были записаны в журнал.

Select ITEM,PM_TYPE,LOCATION,MAX(DATE)
FROM PM_ACTION_LOG a 
WHERE PM_TYPE = 'PM - Monthly' and LOCATION = 'Cass'
GROUP by ITEM,PM_TYPE,LOCATION
INNER JOIN (Select ITEM,MAX(DATE)as LAST_DATE
FROM PM_ACTION_LOG b
Where DATEADD(MONTH,1,DATE) BETWEEN '2018-12-16' and '2018-12-22'
Group by ITEM,PM_TYPE,LOCATION)
on a.ITEM = b.ItEM

Я хочу получить ПОСЛЕДНЮЮ дату для каждого элемента, которая составляет 30 дней от последней даты и попадает в диапазон дат.Мы проводим ежемесячное профилактическое обслуживание каждую неделю.

...