Я изо всех сил пытаюсь написать запрос, основанный на таблице ниже, которая должна получить плохие записи для местоположения (где BadRec = 1), а также предыдущие 3 записи (макс.) В этом местоположении, включая плохие записи;
Вот ожидаемый результат Put;
TranDate Location BadRec comments
======================= ======== ====== ========
2010-08-30 00:00:00.000 STN-1 1 <- Bad record on STN-1
2010-08-29 00:00:00.000 STN-1 0 <- First Previous record
2010-08-28 00:00:00.000 STN-1 0 <- Second Previous record
2010-08-27 00:00:00.000 STN-1 1 <- Third Previous record (Previous include bad rec)
2010-08-28 00:00:00.000 STN-2 1 <- Bad record on STN-2
2010-08-26 00:00:00.000 STN-2 1
2010-08-25 00:00:00.000 STN-2 0
2010-08-27 00:00:00.000 STN-1 1 <- Bad record on STN-1,No previous record for this
2010-08-26 00:00:00.000 STN-2 1 <- Bad record on STN-2
2010-08-25 00:00:00.000 STN-2 0
Можно ли написать это, используя один запрос ??Используя CTE ??За (раздел ...) ??Любая помощь приветствуется.Примечание. Я работаю на машине с SQL 2005;