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

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

Удаление повторяющихся записей в таблице [D6, Win2k]


sniper ©   (2004-04-28 13:36:00) 

Уважаемые мастера!!! Напишите, плз, процедурку быстрого удаления из таблицы (8 столбцов) повторяющихся записей.
P.S. Ключей и индексов нет!!!


Johnmen   (2004-04-28 14:58:00) [1]

>sniper ©

1. БД какая ?
2. "Оригиналы" тоже удалить, или только "дубликаты" ?


Ega23   (2004-04-28 14:34:00) [2]

Ну это опять гадание получится: что за таблица, какие столбцы и т.п.
А если TStringGrid - по AND, ИМХО.


Андрей Сенченко   (2004-04-28 14:31:00) [3]

Ega23 ©   (28.04.04 14:29) [10]

Не пора. Чем TStringGrid не таблица ?


Ega23   (2004-04-28 14:29:00) [4]

Андрей Сенченко ©   (28.04.04 14:24) [9]
См. [8].
Я вопрос не так понял.

А если по сабжу, то где-то я такое видел. По-моему в новом описании стандарта SQL.

И вообще, не пора-ли ветку в Базы перенести?


Андрей Сенченко   (2004-04-28 14:24:00) [5]

Ega23 ©   (28.04.04 14:18) [7]

А что удалять то будешь ?


+-----+-----+-----+-----+-----+-----+-----+-----+
| ст1 | ст2 | ст3 | ст4 | ст5 | ст6 | ст7 | ст8 |
+-----+-----+-----+-----+-----+-----+-----+-----+
|  1  |  1  |  2  |  2  |  1  |  2  |  1  |  2  |
+-----+-----+-----+-----+-----+-----+-----+-----+
|  2  |  2  |  2  |  2  |  2  |  1  |  2  |  1  |
+-----+-----+-----+-----+-----+-----+-----+-----+
|  1  |  1  |  2  |  2  |  1  |  2  |  1  |  2  |
+-----+-----+-----+-----+-----+-----+-----+-----+
|  2  |  1  |  2  |  1  |  3  |  1  |  2  |  1  |
+-----+-----+-----+-----+-----+-----+-----+-----+


Лично я бы удалил всёкроме содержимого ячейки (4,5) потому что только таместь неповторяющееся значение( условие задачи )


Ega23   (2004-04-28 14:22:00) [6]

А, блин, он же не то просил. Я почему-то решил, что удалить все записи, кроме первых 8.   :о)

Кстати, работает.


Ega23   (2004-04-28 14:18:00) [7]

Блин, самому интересно стало. Ща попробую...


Ega23   (2004-04-28 14:17:00) [8]

Declare @X int
Select @X=Max(ID) from Table where ID in (Select Top 8 ID from Table)
Delete Table where ID>@X

Кажись так.


Андрей Сенченко   (2004-04-28 14:17:00) [9]

Procedure QuickDelRepeatedRecordsFromTheTableOfEightRows
begin
end;

Так по-моему


evvcom   (2004-04-28 14:16:00) [10]

А в какую сумму оценишь сей труд, богатенький ты наш Буратино?


Андрей Сенченко   (2004-04-28 14:13:00) [11]

Тимохов ©   (28.04.04 14:03) [2]

Вопрос звучит "напишите"


Тимохов   (2004-04-28 14:03:00) [12]

первое что в голову пришло
1. создаешь вр. таблицу Т с такими же столбцами
2 insert T select distinct * from ИсхТ
3. delete from ИсхТ
4. insert ИсхТ select * from Т


pasha_golub   (2004-04-28 13:54:00) [13]

Напишите... Тогды за деньги. А формат таблицы тоже нам написать?


Наверх

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