SQL, como descobrir o numero ausente entre valores?

Delphi

01/06/2009

Boa tarde amigos,

Preciso descobrir os códigos livres entre dois valores sem ter que percorrer o banco.

No meu banco tenho o campo NF.

Preciso descobrir quais notas não existem num valor entre 1 e 100 por exemplo:

1 - Nota Existente
2 - Nota Existente
4 - Nota Existente

O SQL teria que me retornar, nesse caso, que a NF nro 3 não consta no DB.

Tem como?

att
Mario


Aldus

Aldus

Curtidas 0

Respostas

.lg.

.lg.

01/06/2009

Dei a solução pra isso neste tópico:
http://forum.devmedia.com.br/viewtopic.php?t=100549

O meu código te retorna o numero que falta no intervalo. Dê uma lida que você vai entender.


GOSTEI 0
Aldus

Aldus

01/06/2009

Olá,
ainda não seria isso que queria, pois dessa forma teria que ler o banco a procura do código inexistente, e isso dependendo do número de registro torna-se lento.


GOSTEI 0
.lg.

.lg.

01/06/2009

Pelo que eu sei nenhuma db retorna quais numeros ´inexistentes´ existem num meio intervalo.

Está solução que lhe dei serve para quando vc abre uma tabela no seu programa... acredito que vc n va trazer um milhão de registros num dbgrid para o usuário, neh!? O usuário vai lhe xingar até....

A minha logica se aplica neste caso. Vc abre uma tabela no dbgrid... ( é claro que vc ja tratou o select para amenisar que tipo de info vc quer trazer ) e então quer adicionar um registro de acordo com essa informação que você pegou.

Esse meu código lhe traria o próximo incremento.
É claro que se vc quiser uma rotina que traga todos os itens faltando... essa lógica vai demorar. (a não ser se alguem tenha achado uma maneira rápida. Se achar também quero!!!) O jeito é fazer um procedimento que lhe mostra um progresso.

Desculpe se não pude lhe ajudar. A maneira que achei foi essa. Espero que alguem tenha essa solução. Se tiver, também vou querer. xD

Abraços,
.lg.


GOSTEI 0
POSTAR