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

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

работа с БД [D7, dBase, FoxPro]


Страницы:   1 2 3

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 с помощью запроса я переношу

Не пиши свой запрос так, что бы туда попадало то, чего тебе не надо.
Текст его, кстати, уже нарисовали здесь.


Страницы:   1 2 3

Наверх

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