У меня есть таблица данных, подробно описывающая последовательность действий строки в родительской таблице, где идентификатор столбца - это внешний ключ. Столбец SEQ - это порядок, в котором эти действия имели место, и ACTION - это то, что произошло.Oracle Последовательные действия
ID SEQ ACTION
12345.00 2 SUSPEND
12345.00 3 CLEAR
12345.00 4 SUSPEND
12345.00 6 CLEAR
12345.00 7 SUSPEND
12345.00 8 RESUME
12345.00 9 SUSPEND
12345.00 10 RESUME
12345.00 11 CLEAR
Я пытаюсь представить данные таким образом, что я могу определить Приостановка и возобновление действия, которые не были очищены. В этом случае мой результат будет выглядеть следующим образом:
12345.00 7 SUSPEND 8 RESUME
12345.00 9 SUSPEND
Это случай, потому что;
SUSPEND действие 2 был удален под действием ОЧИСТИТЬ 3.
ПРИОСТАНОВИТЬ действие 4 удаляют путем воздействия CLEAR, 6.
Введение Действие 8 был удален под действием ОЧИСТИТЬ 9.
Столбец ACTION может иметь другие действия в последовательности, поэтому я удалил их для ясности.
Действие очищается, если оно будет выполнено CLEAR.
Извините, если это сбивает с толку. Я не могу изменить схему!
Я попытался упростить вопрос;
ID SEQ ACTION
12345.00 2 SUSPEND
12345.00 3 RESUME
12345.00 4 CLEAR
12345.00 5 RESUME
12345.00 6 SUSPEND
Результат должен выглядеть следующим образом:
12345.00 2 SUSPEND 5 RESUME
12345.00 6 SUSPEND
Я попробовал несколько подходов, но я просто не могу понять, как остановить RESUME под номером 3 включаются.
действие 9 является приостановить. Я немного озадачен этим. – abhi
Действие 10 «RESUME» было очищено, поэтому действие SUSPEND не было прекращено. – cbm64