タイトルがばかげているようで、情報が不足している場合は、次の例で状況を説明しようとしています。
次の表を検討してください-
ID Event Time
---------------------
1 EventA ta
1 EventB tx
2 EventB ty
1 EventC tb
2 EventC to
EventBのインスタンスの後に(時間に基づいて)EventCが存在するようにIDを選択したいと思います。
私は次のクエリを考えることができます:
select ID from TabET where
((select TIME from TabET where Event = EventC order by TIME desc fetch first row only)
>
(select TIME from TabET where Event = EventB order by TIME desc fetch first row only))
テーブルは実際には非常に大きなテーブルであり、このクエリは条件を満たすための大きなクエリ内のサブクエリであるため、より良いアプローチと代替手段を探しています。
編集
IDは一意ではありません。問題は、(TIMEに基づいて)EventBの後にEventCがあるIDを識別することです。