SQL сравнивает предыдущую запись с условным смещением

У меня есть ситуация, когда запись, которая вышла из строя в бизнес-терминах, должна быть исключена, это означает, что нужно сравнивать только действительные предыдущие записи, используя аналитический запрос, такой как лаг (или аналогичная реализация, я пытаюсь использовать DB2 для z/os 10.0 где лаг пока недоступен). основываясь на материалах этого форума, я адаптирую решение для DB2. Первые 3 записи являются действительными записями, поскольку они следуют в правильном порядке кейса. сравните с предыдущей записью, если она недействительна, отметьте ее, а затем сравните следующую с предыдущей действительной записью. В следующем случае (случай 2) запись 4 хороша, но запись 5 не должна сравниваться, а запись 6 должна сравниваться с предыдущей действительностью (которая является записью 4).

Надеюсь, это имеет смысл.


Rec.No.   case_no, case_date,    status
 1           1       11/10/2014    Rcvd
 2           1       11/11/2014    Pndg
 3           1       11/12/2014    Clos
 4           2       11/10/2014    Pndg
 5           2       11/12/2014    Rcvd   --INVALID record as Rcvd should be done first, so flag this
 6           2       11/13/2014    Clos   --valid record in comparision to record 4

0 ответов

Другие вопросы по тегам