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

问题描述 投票:1回答:1

我有一个包含以下行的表

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

P.S:我正在使用Oracle 9i。如果可以通过使用oracle 9i sql来完成,请告诉我。

sql oracle oracle9i
1个回答
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;
© www.soinside.com 2019 - 2024. All rights reserved.