C'è poco da ridurre ai minimi termini, ..... è come arrampicarsi sui vetri
Tradizionalmente in SQL si fanno i filtri,
ma in questo caso non si puo perche quello che vorresti filtrare è proprio quello che manca
Poi con la tua richiesta sembra che vuoi trovare TUTTI i numeri da MenoInfinito a PiuInfinito ad esclusione di quanto gia presente in tabella
Immaginiamo invece che ti bastano i numeri mancanti dal MinimoDiTabella al MassimoDiTabella
Le varie possibilita sono:
1°)
- Un ciclo che scorre i numeri naturali da MinimoDiTabella a MassimoDiTabella e verifica se il NumeroDelCiclo è presente in tabella
2°)
- con delle viste che fanno queste cose
--- prendi la tabella e ci costruisci un Numeratore continuo da 1 a n (Chiamiamola V1)
--- prendi ancora la tabella e costruisci un altro Numeratore continuo da 2 a n+1 (Chiamiamola V2)
--- metti in Join V1 e V2 sui 2 Numeratore costruiti (Chiamiamola V3)
- se la tua sequinza di numeri è continua in V3 avrai sempre differenza di una unita fra i tuoi 2 ID
- se discontinua avrai una differenza maggiore
- quindi hai trovato il 1° numero mancante
- Ma se mancano più numeri consecutivi allora si complica parecchio
- Qui mi fermo perche è complesso e devo andare a lavorare
Ma magari non ti servono TUTTI gli ID mancanti ma solamente il primo
allora sarebbe moltissimo piu facile
Ma non è che per caso vuoi rimpiazzare gli ID eliminati ??????
sappi che è una idea malsana
Facci sapere
.