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

Откуда:
Сообщений: 235
Привет все у меня к примеру есть таблица где есть поле с порядковым номером документа к примеру
a b
1 документ
2 документ
4 документ
5 документ
6 документ

Так вот как сделать запрос который выдал бы результат что документ №3 не заведен?
11 мар 14, 05:15    [15702126]     Ответить | Цитировать Сообщить модератору
 Re: Как найти пропущенное число?  [new]
Добрый Э - Эх
Guest
Axids,

способов масса:
1) "Лобовой": сгенерировать непрерывную последовательность чисел, найти разность между этой последовательностью и данными из таблицы.
2) "Лобовой", но с "финтами ушами": найти начала-кончала дырок и генерировать не всю последовательность чисел, а лишь отсутствующие значения в рамках найденных дырок
3) Попарно сравнивать два последовательных элемента, если разность между ними более единицы, то возвращать меньшее значение с единичным инкрементом

ну и всё в том же духе.... фантазировать можно бесконечно.
11 мар 14, 05:44    [15702130]     Ответить | Цитировать Сообщить модератору
 Re: Как найти пропущенное число?  [new]
Elic
Member

Откуда:
Сообщений: 29979
STFF
11 мар 14, 08:19    [15702203]     Ответить | Цитировать Сообщить модератору
 Re: Как найти пропущенное число?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54381
ТС, небось, хочет дырки в нумерации заполнять?
11 мар 14, 08:51    [15702249]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить