Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Удаление повторяющихся записей [D5, Access]


Di_ ©   (2002-10-16 11:08:00) 

Как из задвоенных записей оставить лишь единственную, удалив остальные. Можно ли это сделать при помощи запроса Query или все же придется проверять и удалять в цикле по do while.


sniknik   (2002-10-16 11:46:00) [1]

Johnmen © (16.10.02 11:43)
Ничего такого мудрого я и не говорил :-)))
Но хотел!!!
тут только начни такая дискуссия завяжется! прецедентов валом! ;о)


Di_   (2002-10-16 11:44:00) [2]

Спасибо всем, что правильно направили.


Johnmen   (2002-10-16 11:43:00) [3]

>sniknik © (16.10.02 11:36)

>...не придирайся к словам...

Не буду ! =)

>...человеку нужен результат а не мудрые высказывания Ляо Дзы ...

Ничего такого мудрого я и не говорил :-)))

>...после и сам дойдет

А как сам дойдет, так и придумает решение.


sniknik   (2002-10-16 11:36:00) [4]

Johnmen не придирайся к словам. удалить нельзя скопировать заменить можно, добавил уник можно и удалять.
человеку нужен результат а не мудрые высказывания Ляо Дзы :-)). после и сам дойдет.
кстати по вопросу как раз в цикле по do while и не удастся удалить. см. Johnmen © (16.10.02 11:26).
предварительно нужно будет добавить уникальную запись.


Anatoly Podgoretsky   (2002-10-16 11:36:00) [5]

Результат выборки в другую таблицу, удаления всего и вставка обратно


Johnmen   (2002-10-16 11:26:00) [6]

Позволю себе повториться... :^)
Удалить можно только всеидентичные !
Оставить хотя бы одну не получится никакими способами !


Di_   (2002-10-16 11:21:00) [7]

именно идентичны! Повторяются по 2,3, есть и по 4 раза. Такого "мусора" набирается на 1700 записей. Выходит с помощью запроса нельзя :( Придется программно проверять и удалять.


VAleksey   (2002-10-16 11:20:00) [8]

Сдлать запрос:
SELECT DISTINCT * FROM ...
Вот ты и получил все записи без дублей.
Теперь твори. Вариантов куча.


sniknik   (2002-10-16 11:19:00) [9]

зависит от того что считать задвоением (запрос по разному строить, и удалять или копию делать, в одном случае дополнительное поле надо делать) полное совпадение по всем полям или есть поле (или несколько) идентификатор совпадение по которому и считается задвоением.
Говорят с самом Access мастер есть на удаление дубликатов (не пользовался ни разу), а запрос довольно простенький получается.
для примера (это если совпадение по всем полям)
select * into 1saccsBak from (select distinct * from 1saccs)
остается только таблицу поменять.


Johnmen   (2002-10-16 11:12:00) [10]

Никак не удастся !
(Если записи полностью ! идентичны)


Наверх

Титульная страница Поиск, карта сайта Написать письмо