Pode-se resolver a questão mudando um pouco a consulta. No lugar do olhar para frente, com LEAD(), olha-se para trás, com LAG().
select numero2+livre
from
(select numero numero1,
lag(numero, 1, 0) over (order by numero) numero2
from produtos) p1
inner join (select rownum livre from produtos) p2
on livre < numero1 - numero2
order by 1
Usei lag(numero, 1, 0), porque quero que a numeração comece com 1 (o segundo select usa rownum e este começa com 1).
Nenhum comentário:
Postar um comentário