É possível tirar o resultado de uma coluna e transferi-lo para duas colunas. Tomando o primeiro e o segundo resultados como início e fim e todos os demais da mesma maneira. usei o pivot, mas não obtive nenhum resultado real.
resultado atual
rn old_date_row
1 01-JUN-18
2 null
3 null
4 null
5 22-JUN-18
6 null
7 null
8 null
9 25-JUN-19
10 null
11 null
12 25-JUN-20
resultado esperado nova tabela
start_date end_date
01-JUN-18 22-JUN-18
25-JUN-19 25-JUN-20
Você precisa enumerar linhas que não são nulas usando e,
row_number()
em seguida, identificar linhas sucessivas usandoround(rid/2)
:Resultados :
A consulta final pode ser:
Resultados :
Demonstração aqui