Oracle查询以显示每行中具有先前状态的状态更改

时间:2019-02-12 19:53:03

标签: sql oracle oracle9i

我有一张桌子,上面有几行

see the image

需要编写一个oracle sql查询以获取输出为:

see the result image here

P.S:我正在使用Oracle 9i。让我知道是否可以仅使用oracle 9i sql来完成。

1 个答案:

答案 0 :(得分:1)

您可以使用lag()

select proj_name, prev_status || ' to ' || status
from (select t.*, lag(status) over (partition by proj_name order by date) as prev_status
      from t
     ) t
where prev_status is not null;