我在 Oracle SQL DB 上有这种数据:
personId lastEvent currentEvent nextEvent
1 null 1 2
1 1 2 3
1 2 3 4
1 3 4 null
对于单行,如
personId lastEvent currentEvent nextEvent
1 null 1 2
我想通过将事件列组合在一起并将这两行分类到特定的 currentEvent 来提取提取的两行。例如:
第 1 行
personId lastEvent currentEvent nextEvent
1 null 1 2
结果#1
personId event1 event2 currentEvent
1 null 1 1
1 1 2 1
第 2 行
personId lastEvent currentEvent nextEvent
1 1 2 3
结果#2
personId event1 event2 currentEvent
1 1 2 2
1 2 3 2
等等......我知道子句CONNECT BY的存在,但我真的无法弄清楚查询来获得这些结果。