2

番号がすべて順不同(ギャップがある)の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のWebサイトで見つけましたが、機能させることができません。

助けてくれてありがとう!!!

4

1 に答える 1

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
于 2011-04-21T20:15:08.223 に答える