Törölt nick Creative Commons License 2011.01.17 0 0 13821

Nem igazán Exceles probléma, hanem algoritmus, és nem is Excelben akarom használni, hanem adatbázis-lekérdezésben, de azért felteszem ide, mert itt okos emberek vannak, és hátha van valakinek jó ötlete.

 

Egy adatbázis mező értékei természetes számok lehetnek. Minden szám csak egyszer szerepelhet benne, de (nyilván) nem mindegyik szám szerepel benne ténylegesen. Például:

 

0

1

2

3

5

8

23

 

Az a kérdés, hogy hogyan lehet gyorsan és elegánsan meghatározni azt a legkisebb természetes számot, ami nincs benne a halmazban. (A fenti példa esetében 4.) A kézenfekvő megoldás az lenne, hogy egy For..Next ciklussal, 0-tól a halmaz llegnagyobb eleméig egyenként végignézem a számokat. Ezzel csak az a bajom, hogy nem gyors, és nem elegáns.

Van valakinek jobb ötlete? Az SQL nyelv sajátosságait fel lehet használni a megoldáshoz.