![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
работа с БД [D7, dBase, FoxPro]
Jann © (2004-07-02 12:12:00)Помогите!
Есть БД с несколькими строчками данных и после каждой такой строчки следует дублирование этой же строки. Как удалить те строчки которые повторяются.
sniknik (2004-07-02 14:57:00) [1]http://www.hotsoft.ru/ADS/
гдето там и хелпы по sql видел. кстати они говорят что это дешовый сервер. ;о)) (что имеется ввиду "Аппаратное обеспечение - расходы = 0"?)
локальная версия бесплатна точно.
Jann (2004-07-02 14:45:00) [2]Причем сдесь ADO?
ADS это Advantage Database Server.
Danilka (2004-07-02 14:40:00) [3][41] Anatoly Podgoretsky © (02.07.04 14:17)
ну, тогда [39] sniknik © (02.07.04 14:08)
просто, я думал, может очепятка и он так АДО обозвал :))
Anatoly Podgoretsky (2004-07-02 14:17:00) [4]Это малоизвестный движок баз данных, может работать с dbf, довольно дорогой
Danilka (2004-07-02 14:15:00) [5]А что такое ADS?
sniknik (2004-07-02 14:08:00) [6]> а если все построено через на ADS
значит прямая дорога к чтению доки по ADS, какие запросы он позволяет, либо тупо(и долго) перебирать варианты, или кто знакомый с ним ответит. либо реализовать цикл с удалением (он от синтаксиса sql не зависит).
Jann (2004-07-02 13:59:00) [7]а если все построено через на ADS
Jann (2004-07-02 13:58:00) [8]а если все построено через на ADS
sniknik (2004-07-02 13:55:00) [9]значится повторяются все
вот теперь можно начинать про движок, какой?
потому как с ADO - Jet для dbf вполне пройдет простое, чтото вроде
SELECT * INTO new FROM (SELECT distinct * FROM old)
получиш новую "чистую от дублей" таблицу, с BDE так не получится, нужно по другому заморачиватся (с индексом и удалением в цикле к примеру).
Anatoly Podgoretsky (2004-07-02 13:52:00) [10]Jann © (02.07.04 13:43) [29]
Для таких данных смотри [30]
Но по вопросу "Как в это таблице оставить только по одной строке для каждой фамилии"
Петров Иван Иванович
Петров Иван Петрович
уже никак
Reindeer Moss Eater (2004-07-02 13:49:00) [11]Щас скажет в ответ на п.3 , что неполчаецца, так как там не три поля, а больше. И Иван Шукшин раздвояецца.
Danilka (2004-07-02 13:48:00) [12]п. 3. = [30] Reindeer Moss Eater © (02.07.04 13:45)
Danilka (2004-07-02 13:47:00) [13][29] Jann © (02.07.04 13:43)
тока 3 варианта:
1. в цикле пройтись по всем записям и удалить дубли
2. запросом [19] скопировать в новую таблицу, затем переписать ее заместо старой
3. изначально из "БД DAT" забрать только неповторяющиеся записи.
Reindeer Moss Eater (2004-07-02 13:46:00) [14]Просто спрашивать нужно корректно, а не как некоторые.
Воистину
Reindeer Moss Eater (2004-07-02 13:45:00) [15]select distinct(*) from table
Запрос для имопорта
Jann (2004-07-02 13:43:00) [16]Да сколько можно повторять. Вот вам примерная таблица:
поля: 'fam','im','ot';
содержимое после запроса:
Петров Иван Иванович
Петров Иван Иванович
Петров Иван Иванович
Смирнов Олег Петрович
Шукшин Иван Федорович
Шукшин Иван Федорович
Как в это таблице оставить только по одной строке для каждой фамилии??? Так понятней будет!!! А то молчу, молчу. Просто спрашивать нужно корректно, а не как некоторые. Я конечно же не гуру в Delphi, поэтому и обратился к вам, расчитывая на квалифицированную помощь.
Reindeer Moss Eater (2004-07-02 13:40:00) [17]Я вот что думаю.
Если бы никто не стал возражать на ответ про метод Delete данный на вопрос о том "как удалить", то мы бы уже давно услышали от автора какие именно записи он считает дубликатами.
Соответственно и конкретный SQL был бы рожден.
sniknik (2004-07-02 13:32:00) [18]> Текст его, кстати, уже нарисовали здесь.
если имется в виду [19] то как быть если показаное поле единственное что повторяется?
не, без дополнительной инфы(наводящих вопросов) не получится.
Anatoly Podgoretsky (2004-07-02 13:27:00) [19]Reindeer Moss Eater © (02.07.04 13:24) [25]
Запросом у него не получится, у него явно не повторящиеся строки.
Точно сказать нельзя, поскольку он как партизан на допросе, знаю но не скажу
Reindeer Moss Eater (2004-07-02 13:24:00) [20]Ладно давайте так у меня есть БД DAT с помощью запроса я переношу
Не пиши свой запрос так, что бы туда попадало то, чего тебе не надо.
Текст его, кстати, уже нарисовали здесь.