sql >> データベース >  >> RDS >> Sqlserver

次の使用可能な番号を SQL Server から取得するにはどうすればよいですか? (ID 列ではありません)

    質問からすると、次の利用可能なものを求めていると思いますが、それは max+1 と同じではないかもしれませんよね? - その場合:

    整数のリストから始めて、groupid 列にないものを探します。例:

    ;WITH CTE_Numbers AS (
        SELECT n = 2001
        UNION ALL
        SELECT n + 1 FROM CTE_Numbers WHERE n < 4000 
    )
    SELECT top 1 n 
    FROM CTE_Numbers num
    WHERE NOT EXISTS (SELECT 1 FROM MyTable tab WHERE num.n = tab.groupid)
    ORDER BY n
      

    注:2001/4000 を微調整する必要があります 必要な範囲を可能にする CTE の int 値。 MyTable であなたのテーブルの名前を想定しました



    1. MySQLクエリから返されたPHPの配列をループする

    2. SQL Server 2008 IDENTITY_INSERT は挿入時に ON エラーです

    3. PL / SQL-where-clauseのオプション条件-動的SQLなし?

    4. php読み取りmysqlビットフィールドが奇妙な文字を返す