Om man har en tabell med kundnummer och vill ha det lägsta lediga numret, kan man få fram det via någon typ av SQL-sträng? Jag har en lös ide, vet inte om den är realiserbar. Hur skulle det bli om man kör efter Niklas ide men med Grymt bra svat - TACK!Första lediga värdet med SQL-sats??
Typ en tabell:
<code>
kundnummer:
1
2
3
5
6
9
2323
</code>
Tabellen kan bli ganska stor, och man vill ju inte behöva loopa igenom de resultat man får...
Resultatet jag är ute efter är ju '4'....Sv: Första lediga värdet med SQL-sats??
Jag tänker mig något i stil med att du först tar fram alla kundnummer, lägger till 1 till dem, kollar i tabellen efter de nummer som inte finns med, och sen tar det lägsta; typ något i stil med
(SELECT kundnr + 1 FROM kunder) EXCEPT (SELECT kundnr FROM kunder)
åsså minsta i den beroende på vilken databas du har.Sv:Första lediga värdet med SQL-sats??
<code>
SELECT MIN(kundnr + 1) FROM kunder WHERE (kundnr + 1) NOT IN (SELECT kundnr FROM kunder)
</code>
Fungerar dock inte helt ok om till exempel kundnummer 1 är ledigt och räkningen börjar från 1...Sv: Första lediga värdet med SQL-sats??
Det var precis som du skrev inte möjligt att hitta om kundnummer 1 var ledigt, men det köper jag direkt med denna underbart smidiga lösning.
Stjärna i himmelen för snabbt svar!