Lendo seu problema, não me vem nada na cabeça para resolver com um select, acho que você pode fazer um procedimento e montar uma tabela temporária do jeito que você quer…
L
leopoldof
Creio que a solução seria a mesma para localizar se há ou não intervalos entre duas sequencias de números
A
AbelBueno
Cara, tenta isto aqui:
select dt, min(numero), max(numero)
from
(
select
t1.*,
(select min( numero ) from tabela t2 where t2.numero > t1.numero and t2.dt != t1.dt) ultimo
from
tabela t1
)
group by
dt, ultimo
order by
dt
L
leopoldof
Beleza…não sei como…kkkkkkkkkkk
.mas esse seu select funcionou …crei uma tabelinha e simulei o meu problema…e funcionou…
agora vou tentar passar isso para meu select real… só quero ver… mas vamos lá…obrigado… depois eu posto aqui
se consegui ou não…
A
AbelBueno
leopoldof:
Beleza…não sei como…kkkkkkkkkkk
.mas esse seu select funcionou …crei uma tabelinha e simulei o meu problema…e funcionou…
agora vou tentar passar isso para meu select real… só quero ver… mas vamos lá…obrigado… depois eu posto aqui
se consegui ou não…
Eu não sou muito bom para explicar select, mas basicamente é o seguinte:
Seu grupo é feito de números na mesma data, num intervalo contíguo de números…
Aquele subselect pega o primeiro número ( “min( numero )” ) a partir do registro atual com uma data diferente.
Esse primeiro número será igual para todos os números de um determinado grupo.
No fim é só agrupar por data e por esse primeiro número do próximo grupo (que na pressa coloquei como ultimo no select, um péssimo alias)
Enfim… acho que para entender o melhor é rodar em partes e ver o que está acontecendo.
L
leopoldof
KKKK…
Muito bom…
Rodou certinho aqui a sua idéia… passei o maior tempão pesquisando e tentando montar um select…
Usando o Having… modificando o group by… usando agregação…e nada…
seguindo a sua idéia… funcionou certinho a separação…
agora só vou ajeitar os totalizadores do select, pois tenho dentro do select dois sub-selects…
Mas creio se se eu seguir a mesma idéia do from… vai funcionar também…