Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поиск несуществующих значений (дырок) / 3 сообщений из 3, страница 1 из 1
27.08.2002, 12:43:52
    #32046136
Sergey Vinogradov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск несуществующих значений (дырок)
Недавно возникла задача поиска ближайших (к заданному) пропущеных значений в определенной таблице.

Для простоты, значения привел к целым числам, в результате задача свелась к поиску пропущенных чисел в натуральном ряду.
Чтобы получить пропущенные числа, надо из множества натуральных чисел вычесть (not exists) множество имеющихся значений.
Для эмуляции натурального ряда создал таблицу, содержащее только одно целочисленное поле. Заполнил ее значениями от -2^24 до 2^24.

Работает все очень быстро, но остается вопрос с количеством записей в таблице, выполняющей роль натурального ряда - не до бесконечности же ее заполнять?

Нельзя ли эмулировать натуральный ряд как-нибудь по другому, не создавая искусственную таблицу?
Также интересует, может есть еще способы поиска дырок (кроме простого перебора, что неприемлемо по скорости)?
...
Рейтинг: 0 / 0
27.08.2002, 13:00:36
    #32046143
Yossarian
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск несуществующих значений (дырок)
В BOL есть статья под названием
Identity(property)
там рассказано, как это можно делать.
...
Рейтинг: 0 / 0
28.08.2002, 04:54:32
    #32046380
Sergey Vinogradov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск несуществующих значений (дырок)
Спасибо. Почти то, что надо.
Наверно, пора в отпуск - до такого простого решения сам не додумался. :(
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поиск несуществующих значений (дырок) / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]