2 Stimmen

SQL - Den nächsten Wert in einer Recordset mit Lücken in den Zahlen erhalten

Ich habe einen SQL-Datensatz, der Nummern enthält, die alle durcheinander sind (Lücken aufweisen), zum Beispiel: 1,2,3,7,9,11..... Ich möchte nur die erste fehlende Zahl erhalten.

Ich habe etwas Ähnliches versucht, aber ich kenne SQL einfach nicht gut genug, um es richtig zum Laufen zu bringen.

strQuery = "SELECT N as NextNum FROM LOADS WHERE N > 0 AND N <= (SELECT MAX(LOAD_NO) FROM @LOADS) AND N NOT IN (SELECT LOAD_NO FROM @LOADS)"
objNextNum.Open strQuery
lastLoadNo= objNextNum("NextNum")
response.write "NÄCHSTE LADUNGSNUMMER IST: " & lastLoadNo

Ich habe dieses Beispiel auf einer MS-Website gefunden, aber ich kann es nicht zum Laufen bringen.

Vielen Dank für jede Hilfe!!!

1voto

nathan gonzalez Punkte 11537

Habe das irgendwo gesehen, kann mich aber nicht erinnern wo, sonst würde ich die ordnungsgemäße Zuordnung angeben, aber du solltest das verwenden können:

SELECT  TOP 1
        LOAD_NO + 1
FROM    LOADS mo
WHERE   NOT EXISTS
        (
        SELECT  NULL
        FROM    LOADS mi 
        WHERE   mi.LOAD_NO = mo.LOAD_NO + 1
        )
ORDER BY
        id

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X