TV
Takhir Vildanov
как в sql server в таблице найти пропущенные значения?
как в sql server в таблице найти пропущенные значения? например, в таблице - 3,6,8. Надо вывести -- 1,2,4,5,7
как в sql server в таблице найти пропущенные значения? например, в таблице - 3,6,8. Надо вывести -- 1,2,4,5,7
какой sql server?
Ну, жутко неоптимальный вариант, но на безрыбье.. .
DECLARE
@t TABLE(ID integer),
@ExpectedMinValue integer,
@ExpectedMaxValue integer
SELECT
@ExpectedMinValue = 1,
@ExpectedMaxValue = 8
WHILE (@ExpectedMinValue <= @ExpectedMaxValue)
BEGIN
INSERT INTO @t VALUES (@ExpectedMinValue)
SET @ExpectedMinValue = @ExpectedMinValue + 1
END
SELECT t.ID
FROM @t t
LEFT JOIN [МояТаблица] tt ON t.ID = tt.ID
WHERE tt.ID is null