SQL - Получение следующего числа в строке из набора записей с пробелами в числах - PullRequest
2 голосов
/ 22 апреля 2011

У меня есть запись SQL с номером, который не соответствует порядку (с пробелами), например: 1,2,3,7,9,11 ..... Я хотел бы получить только первое пропущенное число.

Я пробовал что-то подобное, но я просто не знаю SQL, чтобы заставить его работать правильно.

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 "NEXT LOAD NUMBER IS: " & lastLoadNo

Я нашел этот пример на веб-сайте MS, но не могу заставить его работать.

Спасибо за любую помощь !!!

1 Ответ

1 голос
/ 22 апреля 2011

видел это где-то, хотя не могу вспомнить, где, или я бы дал надлежащую атрибуцию, но вы должны быть в состоянии использовать это:

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
...