Blz ? Parece ser meio enrolada atua regra, demandaria mais do que os 2 minutos
(máximo) que deixo pra responder, mas numa olhada rápida acho que vc está muito
muito perto : minha única Ressalva é que vc Absolutamente Não Precisa abrir um
cursor e ficar fazendo IFs, acredito que vc possa fazer algo tipo :
SELECT inicio, fim, prazo, sum(CASE when prazo+1 = prx_inicio then prazo else
0) , ...colunas...
FROM (
select t.inicio,
t.fim,
t.prazo,
lead(t.inicio - 1) over (order by t.inicio) prx_inicio,
lead(t.fim) over (order by t.fim) prx_fim,
lead(t.prazo) over (order by t.prazo) prx_prazo
from tabela t
order by t.inicio,
t.fim,
t.prazo;
)
==> OU SEJA , vc só soma a coluna SE o valor obedece ás tuas regras.... É essa
a técnica principal, okdoc ?? Como eu disse, não tive o tempo de mastigar algo
mais preciso, mas ACREDITO que é por aí....
[]s
Chiappa