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

Откуда:
Сообщений: 300
есть диапозон чисел от 10 до 99 из них в таблице уже сть некоторые скажем 13 и 55 и вот нужно получить все остальные числа без упомянутых 13 и 55.
Подскажеит как это на транзакте сделать.
21 ноя 12, 12:45    [13506482]     Ответить | Цитировать Сообщить модератору
 Re: Поиск неиспользуемых значений из диапозона  [new]
_djХомяГ
Guest
Таблица с числами нужна
На коленке
declare @t table (id int)
insert into @t 
select 13
union all
select 15 
select m.number from master..spt_values m left join @t t 
on number=id
where id is null and m.Type='P' and number between 10 and 99
order by 1
21 ноя 12, 13:06    [13506697]     Ответить | Цитировать Сообщить модератору
 Re: Поиск неиспользуемых значений из диапозона  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
select 
 *
from [таблица, где есть диапозон чисел от 10 до 99] a 
where 
  a.число not in ( select x.число from [таблица, в которой уже сть некоторые] x )
21 ноя 12, 13:06    [13506701]     Ответить | Цитировать Сообщить модератору
 Re: Поиск неиспользуемых значений из диапозона  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
select number from master..spt_values
where type = 'P' and number between 10 and 99
and number not in ( select [поле с значениями 13 и 55] from [МояТаблица] )
21 ноя 12, 13:07    [13506709]     Ответить | Цитировать Сообщить модератору
 Re: Поиск неиспользуемых значений из диапозона  [new]
kryak
Member

Откуда:
Сообщений: 396
_djХомяГ,

Обязательно ли создавать таблицу для диапазона?

Почему бы не генерить диапазон на лету, что-нибудь вида...

SELECT  TOP (330)
        ROW_NUMBER() OVER (ORDER BY o.object_id)
FROM    sys.objects AS o
    CROSS JOIN sys.objects AS o2
21 ноя 12, 13:58    [13507226]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить