![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите пожайлусата как выбрать из базы все повторяющиеся
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]что значит повторяющиеся? Все поля или только одно?