2013-03-21 2 views
1

В моей таблице у меня есть ряд продуктов. Мне пришло в голову, что кто-то загрузил некоторые продукты с использованием того же кода. Как я могу запустить запрос, который найдет все строки, которые НЕ уникальны в поле productno?Поиск дубликатов через запрос в доступе

+0

Вы что-то пробовали? – bendataclear

+0

не знал, с чего начать, поэтому нет –

+0

Ответ Скотча должен хорошо работать, чтобы идентифицировать строки, как только вы удалили/исправили дубликаты, вы могли бы рассмотреть возможность установки параметра индекса столбца на «Да, без дубликатов», это не позволит дальнейшие дубликаты продуктов, которые нужно вставить, но могут давать уродливые ошибки. – bendataclear

ответ

2

Как я понимаю вопрос, вы хотите увидеть, какие строки включает повторяющиеся productno значения, не только какие productno значений дублируются.

Если это верно, выберите дубликат productno значений в подзапросе и присоедините свою таблицу к подзапросу.

SELECT y.* 
FROM 
    [Your Table] AS y 
    INNER JOIN 
     (
      SELECT [productno], Count(*) 
      FROM [Your Table] 
      GROUP BY [productno] 
      HAVING Count(*) > 1 
     ) AS sub 
    ON y.[productno] = sub.[productno] 
ORDER BY y.[productno]; 
+0

Я думаю, что я либо что-то не понимаю, либо меня неправильно поняли. Когда я запускаю этот запрос, я получаю всплывающее окно для ввода значения. Я столкнулся с несколькими продуктами, которые имели одинаковые ценности, поэтому теперь из страха, что другие (из наших продуктов 3000+), возможно, были загружены одинаково. Поэтому я просто надеюсь, что есть запрос на показ, который покажет любые строки, у которых есть продукт, который не уникален. –

+0

Неплохо, когда я набрал его, у меня случайно возникла орфографическая ошибка. Спасибо за вашу помощь. –

0

Попробуйте

SELECT productno, count(*) as num FROM Products GROUP BY ProductNo HAVING count(*) > 1