Выбор строк из таблицы по условию
Буду рад помощи добрых людей. Составил SQL запрос следующего вида:
SELECT Row_Number() Over (Partition by Certificate_Id Order by DateAndTime) as Partit, Certificate_Id, Action, AH.DateAndTime
from AuthorizationHistories AH INNER JOIN AuthorizationHistory_Certificate AHC ON AH.Id = AHC.Id
WHERE Certificate_Id in (SELECT AHC.Certificate_Id FROM AuthorizationHistories AH INNER JOIN AuthorizationHistory_Certificate AHC ON AH.Id = AHC.Id INNER JOIN Certificates C ON AHC.Certificate_Id = C.Id
WHERE Action = 'Overdue' and C.CertificateType_Id in (1, 2))
and Action in ('Overdue', 'Suspended', 'Job Completed')
запрос возвращает следующую таблицу:
Не получается из этой таблицы выбрать строки отмеченные желтым по условию.
Условие: выбрать +1
строку от той, которая содержит в столбце Action
слово Overdue
, затем объединить данные, чтоб результат содержал таблицу со строками Overdue
и следующими за ними N+1
строками, остальные, не соответствующие этому условию строки, удалить. Т.е. из предыдущей таблицы должно получиться следующее:
Спасибо!
Источник: Stack Overflow на русском