最小の空き番号を取得
数値型の値の中から、最小の空き番号を取得します。
SELECT ID
FROM CUSTOMER
ID |
---|
1 |
2 |
3 |
5 |
7 |
SELECT ISNULL((
SELECT MIN(Cnt)
FROM (
SELECT a.ID,
(SELECT COUNT(*)
FROM CUSTOMER b WHERE b.ID <= a.ID) AS Cnt
FROM CUSTOMER a
) c
WHERE ID <> Cnt
),(SELECT ISNULL(MAX(ID) + 1,1) FROM CUSTOMER))
AS [BLANKID]
BLANKID |
---|
4 |
ただし、データが増加するほど、すごく重い処理になるため注意して下さい。