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