У меня есть рабочий запрос, составленный из нескольких предложений Join. Один из столбцов - RecordDate. Я хочу отображать только записи при следующем условии: RecordDate> ((Max (RecordDate) для всего отчета) -40) дней. Другими словами, записи датируются Максом датой или 40 днями ранее. Я заметил, что не могу вычислить дату-40 в предложении WHERE, поэтому я создал запрос date_CTE, чтобы получить вычисленную «старую дату».
WITH date_CTE(PrevDate,sd) AS
(SELECT dateadd(DAY,-33,max(ScanDate)),ScanDate
FROM v_TthreatsCombined
GROUP BY scanDate)
SELECT MAX(prevDate) FROM date_CTE
Мне не удалось присоединиться к результату «SELECT MAX (prevDate) FROM date_CTE» в WHERE.
Запрос выглядит примерно так:
SELECT col1,col2.col3,ScanDate
FROM table1
Left Join ....
Left Join ...
WHERE condition1 AND (condition2 OR condition3) AND <SELECT MAX(prevDate) FROM date_CTE>
На правильном ли я пути? Спасибо за помощь.
Амос