Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL запрос  [new]
postl
Member

Откуда: Germany
Сообщений: 7
Привет всем!
Такая задача:
Есть Таблица, в ней числа. Меня интересует область чисел от 60001 до 69999
Надо найти наименьшее свободное число из этой области.

При таком порядке цифр
59999
60001
60002
60004
.......
69999
это будет 60003

Есть только права чтения.

Нужно реализовать через C# ODBC, но хотелось бы переложить основную работу на SQL SERVER
Можно ли написать такой запрос?
25 июн 09, 14:48    [7343319]     Ответить | Цитировать Сообщить модератору
 Re: SQL запрос  [new]
GSerg
Member

Откуда: Магадан
Сообщений: 205
Если это для заполнения дырок в первичном ключе, то вы ССЗБ.
select top 1 row_id + 1
from sc_labels s
where row_id between 60001 and 69999 and not exists(select 0 from sc_labels where sc_labels.row_id = s.row_id + 1)
order by row_id
25 июн 09, 14:57    [7343425]     Ответить | Цитировать Сообщить модератору
 Re: SQL запрос  [new]
типа мимо проходил
Guest
postl,

select min(numb)+1
from #numbers n1
where not exists(select 1 from #numbers n2 where n1.numb+1 = n2.numb)
and numb between 59999 and 69999

только не понял почему вы пропустили 60000
25 июн 09, 15:01    [7343455]     Ответить | Цитировать Сообщить модератору
 Re: SQL запрос  [new]
типа мимо проходил
Guest
Сорри пропустил от 60001
25 июн 09, 15:04    [7343491]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить