![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Дублирующиеся записи в таблице [D5, Paradox]
Viz © (2004-07-12 18:28:00)Подскажите, как с помощью SQL проще всего удалить дублирующиеся записи в таблице? Работаю с Paradox через TQuery. В таблице около 10000 строк, около 50 из них повторяются.
P.N.P. (2004-07-12 20:30:00) [1]Попробуй так :
delete from
MyTable t1
where
t1.id<>
(
select min(t2.id)
from
MyTable t2
where
t2.f1=t1.f1 and
t2.f2=t1.f2 and
t2.id<>t1.id
)
Viz (2004-07-12 19:17:00) [2]У каждой записи есть поле ID_REC (автоинкремент), по этому полю создан первичный ключ. Эти поля (ID_REC) в дублирующихся записях конечно разные, а совпадения во всех остальных полях, кроме ID_REC.
Anatoly Podgoretsky (2004-07-12 18:57:00) [3]Зачем, а для чего тогда предикат distinct.
Но такая таблица без первичных ключей не должна жить.
Reindeer Moss Eater (2004-07-12 18:43:00) [4]Ну и еще:
Если две записи дублируются (полностью идентичны), то средствами SQL невозможно удалить только одну из них.
Поручик (2004-07-12 18:43:00) [5]Выбери все с группировкой и слей результат в другую таблицу
Reindeer Moss Eater (2004-07-12 18:35:00) [6]проще всего удалить дублирующиеся записи
около 50 из них повторяются.
Руками проще