SQL - Получение следующего числа в строке из набора записей с пробелами в числах
У меня есть запись 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 ответ
Решение
Видел это где-то, не могу вспомнить где, хотя, или я бы дал надлежащую атрибуцию, но вы должны иметь возможность использовать это:
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