07. december 2009 - 23:35Der er
8 kommentarer og 1 løsning
SQL sætning til at finde første ikke taget nummer imellem 2 tal
Hejsa,
Jeg har en tabel med en masse IP adresser, hvor f.eks 10.2.3.1 til 10.2.3.22 samt 10.2.3.53 til 10.2.3.58 er taget. I en anden tabel har jeg to culumns, én hvor der er ét laveste nummer (f.eks 1) og ét højeste nummer (f.eks 254). Derud over har jeg en tabel der udfra hvilket segment der er valgt angiver nummeret på subnet som den skal tages fra (f.eks 10.2.(6).x - subnet i parantes).
Jeg skal ud fra ovenstående have lavet en SQL sætning som kan finde den næste ledige IP adresse i den subnet som bliver specificeret. Jeg skal lave denne sætning i ASP Classic.
Jeg var ikke klar over at man kunne lave en exept, helt Perfekt!
Jeg kan godt se at det ville kunne lade sig gøre med den select du skriver! men jeg kan også se et lille problem hvis IP_start er sat til 20 og IP_end er sat til 120, så vil den tabel hvor der bliver skrevet fra 1 til 254 jo ikke holde sig inden for IP_start og IP_end. Forudsat at vi får dette løst, hvordan sikrer vi os så at den tager den første ledige, og ikke den sidste ledige, eller for den sags skyld et tilfældigt? Skal vi bruge en sort by til dette eller vil der være en bedre måde at gøre dette på?
Når jeg skriver IP adressen ned i TableReserved, bliver den fulde IP skrevet som f.eks 10.2.4.20, og der bliver jo så nød til at blive blive "filtreret" 10.2.4. fra så SQL sætningen kun ser 20. Hvordan kan dette klares??
Eftersom du ikke i 6 måneder har reageret på min anmodning om et svar så jeg kunne give dig point, har jeg besluttet at svare selv! Hvis du skulle mene at vill have point så kan jeg oprette et nyt spørgsmål til formålet!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.