Запрос Oracle, чтобы показать изменение статуса в каждой строке с предыдущим статусом

У меня есть таблица со следующими строками

увидеть изображение

Нужно написать SQL-запрос оракула, чтобы получить вывод в виде:

увидеть результат изображение здесь

PS: я использую Oracle 9i. Дайте мне знать, если это можно сделать с помощью oracle 9i sql.

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;
Другие вопросы по тегам