Consulta com select

Banco de Dados

03/10/2018

Boa tarde Mestres. Alguém pode me ajudar a criar uma consulta com select no oracle, trazendo quais números de notas estão fora de sequencia em um determinado período. Quando faço a emissão de notas de saídas, o sistema gera a nota com uma sequencia numérica. Exemplo nfe 1,2,3,4,5 etc, então eu gostaria de saber em uma consulta qual a sequencia que estaria faltando em um determinado período. Eu tenho a tabela tb_nfe onde tem no campo nrdocsaida a numeração das notas emitidas.
Por favor alguém pode me ajudar com esse select?
Wilson Araujo

Wilson Araujo

Curtidas 0

Melhor post

Vinicius Cavagnolli

Vinicius Cavagnolli

03/10/2018

Não tenho um ambiente Oracle aqui para testar, mas a SQL deve ser parecida!
Ela retorna as faixas [De "x" Até "x"] dos números que estão faltando na sequência.

SELECT 
	t1.nrdocsaida <mais> 1 AS "De",
       	MIN(t2.nrdocsaida) - 1 AS "Até"

FROM tb_nfe t1
JOIN tb_nfe t2 
	ON t1.nrdocsaida  < t2.nrdocsaida  

WHERE <TESTE PERÍODO>

GROUP BY t1.nrdocsaida 
HAVING t1.nrdocsaida <mais> 1 < MIN(t2.nrdocsaida)


Onde estiver escrito <mais>, você troca pelo operador "+". Está assim porque senão o formatador do DevMedia adiciona um espaço em branco ao invés do símbolo "+".
GOSTEI 1

Mais Respostas

Emerson Nascimento

Emerson Nascimento

03/10/2018

além da dica do colega Vinicius Cavagnolli, você pode tentar também esta aqui:

http://mportes.blogspot.com/2006/01/como-encontrar-gaps-em-uma-sequncia.html

GOSTEI 0
Wilson Araujo

Wilson Araujo

03/10/2018

Obrigado Emerson e Vinicius pela atenção. Vou testar irmão!
GOSTEI 0
POSTAR