I have this table:
x
COL
---
B
C
D
I need to get an output like this:
COL1 COL2
---- ----
Creation B
B C
C D
D Pending
I’ve tried a normal lead
nvl(lead(col) order by col , 'Creation')
window function, but that would only show the first ‘Creation’ and not that last ‘Pending’ that I need.
Advertisement
Answer
Your table has N
records (3
in the example provided) when query must return N + 1
(4
); let’s modify the initial data in order to query N + 1
records:
with q as (
-- Additional null record
select null as Col
from dual
union all
-- Added to the initial table
select col
from myTable
)
select nvl(Lag(COL) over (order by col), 'Creation') as Col1,
nvl(Col, 'Pending') as Col2
from q