如果标题看起来很荒谬并且缺少信息,我深表歉意,我试图通过以下示例来解释这种情况:
考虑下表-
ID Event Time
---------------------
1 EventA ta
1 EventB tx
2 EventB ty
1 EventC tb
2 EventC to
我希望选择 ID,以便在 EventB 的任何实例之后(基于时间)有一个 EventC。
我可以想到以下查询:
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 不是唯一的。问题是识别在(基于时间)EventB之后有EventC的ID