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

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

Подскажите пожайлусата как выбрать из базы все повторяющиеся


svt ©   (2006-10-09 12:40:00) 

Подскажите пожайлусата как выбрать из базы все повторяющиеся записи?


evvcom   (2006-10-10 08:59:00) [1]

> [13] Sergey13 ©   (10.10.06 08:36)
> Мой опыт говорит

Мой тоже :-(


Sergey13   (2006-10-10 08:36:00) [2]

> [12] evvcom ©   (10.10.06 08:31)

Мой опыт говорит, что геморой "неизбежен, как победа коммунизма" в любом случае. 8-)


evvcom   (2006-10-10 08:31:00) [3]

Гимором будет потом вопрос, как заставить юзеров уже в рабочую базу не заводить дубликатов типа

> [7] stone ©   (09.10.06 14:28)
> Иванов_Иван_Иванович и _Иванов__Иван_Иванович_
> где _ = пробел


clickmaker   (2006-10-09 15:40:00) [4]


>  отказаться от Excel, а заполнять формы в программе

это уже потом.
А что делать с трудами девочек-студенток?
У самого как-то была такая задача. Автоматизировали прредприятие, и надо было из экселя перегнать в базу, да еще и с преобразованиями.
Делал через MDAC, временные таблицы и скрипты. Гемор еще тот, никому не пожелаю


Stanislav   (2006-10-09 15:35:00) [5]

Или отказаться от Excel, а заполнять формы в программе, работающей непосредственно с БД.


clickmaker   (2006-10-09 15:20:00) [6]

ну да, тут до кучи нужно поудалять повторяющиеся пробелы, trimleft, trimright, да еще и поиск нужно вести без учета регистра


Sergey13   (2006-10-09 14:40:00) [7]

> [7] stone ©   (09.10.06 14:28)
Я просто предложил технический вариант. А ситуаций конечно может быть масса. И не все разруливаются программно. Например Иванова-Петрова-Сидорова может быть одно лицо после неоднократного замужества. 8-)


stone   (2006-10-09 14:28:00) [8]


> Sergey13 ©   (09.10.06 13:18) [6]
> > [5] svt   (09.10.06 13:15)
> Как вариант.
> Импортируй в левую таблицу как есть. После из нее с distinct-
> ом в рабочую.

осталось решить как расценивать значения полей типа
Иванов_Иван_Иванович и _Иванов__Иван_Иванович_
где _ = пробел

> документ пополнялся девочками-студентаками, которые могли
> навбивать то, что уже есть в таблице.

при подобном запонении таблицы варанты могут быть и покруче


Sergey13   (2006-10-09 13:18:00) [9]

> [5] svt   (09.10.06 13:15)
Как вариант.
Импортируй в левую таблицу как есть. После из нее с distinct-ом в рабочую.


svt   (2006-10-09 13:15:00) [10]


> В базе не должно быть никаких посторяющихся записей!

Есть excel ский документ.... с записями около 10 000 ... документ пополнялся девочками-студентаками, которые могли навбивать то, что уже есть в таблице. Документ необходимо перегнать в mssql (сразу вопрос: чем лучше это делать?пока делал через импорт mssql). Таким образом имеем наследие из повторяющихся записей, пусть их и будет около 50-70, но в 10 000 количестве искать ручками не имеет смысла и желания. вот почему я и спаршиваю на данную тему...


Stanislav   (2006-10-09 13:12:00) [11]

Select kod, count(*) as kolvo from table
group by kod
having count(*)>1

Этот запрос отберет повторяющиеся значения поля kod, а count(*) это сколько раз запись повторяется.


Курдль   (2006-10-09 12:57:00) [12]

В базе не должно быть никаких посторяющихся записей!


Павел Калугин   (2006-10-09 12:49:00) [13]

> [0] svt   (09.10.06 12:40)

повторюсь
конецформыначалоформыПроверить уникальность в существующей таблице можно поиспользовав сочетания group by, having,функции count()
нажми f1 в квери аналайзере и почитай, что есть перечисленное.
и будет счастье просветления от простоты решения.


clickmaker   (2006-10-09 12:42:00) [14]

что значит повторяющиеся? Все поля или только одно?


Наверх

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