Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: случайно удалили около 400 ID
 
 автор: Bruno   (23.08.2014 в 19:28)   личное сообщение
 
 

Приветствую всех

В таблице используется поле ‘счетчик’, случайно удалили около 400 ID (в таблице свыше 30 000 ID ) , может кто знает способ как уточнить какие конкретно номера были утеряны. Я, пытался с помощи запроса используя условия отбора, нечего не получилась. Буду благодарен за любую помощь.

  Ответить  
 
 автор: Панург   (25.08.2014 в 06:47)   личное сообщение
 
 

Если в таблице не было ранее пропусков ID (или это не важно), то данный запрос покажет все недостающие номера

SELECT qsel2.d
FROM   (SELECT qsel.d
        FROM   (SELECT Clng(( D4.digit & D3.digit & D2.digit & D1.digit & D0.digit ) + 1) AS d
                        FROM   Digits AS D0,
                                      Digits AS D1,
                                      Digits AS D2,
                                      Digits AS D3,
                                      Digits AS D4) AS qsel
        WHERE  qsel.d <= (SELECT Max(tbl.ID)
                          FROM   tbl)) AS qsel2
       LEFT JOIN tbl
              ON qsel2.d = tbl.ID
WHERE  tbl.ID Is Null;

В запросе используется запрос на объединение Digits (можно сделать таблицу вместо запроса), взятый из http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=535505&msg=5414410

SELECT TOP 1 0 AS digit FROM MSysObjects
UNION ALL 
SELECT TOP 1 1 FROM MSysObjects
UNION ALL 
SELECT TOP 1 2 FROM MSysObjects
UNION ALL 
SELECT TOP 1 3 FROM MSysObjects
UNION ALL 
SELECT TOP 1 4 FROM MSysObjects
UNION ALL 
SELECT TOP 1 5 FROM MSysObjects
UNION ALL 
SELECT TOP 1 6 FROM MSysObjects
UNION ALL 
SELECT TOP 1 7 FROM MSysObjects
UNION ALL 
SELECT TOP 1 8 FROM MSysObjects
UNION ALL 
SELECT TOP 1 9 FROM MSysObjects;

ЗЫ. Запрос расчитан на то, что максимальное значение ID не превышает 100 000.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList