Здравствуйте!
Есть такая проблема:
база данных Firebird, с таблицей Tab_1
поля в таблице:
pole1 - integer (автоинкрименируемое поле)
pole2 - timestamp
pole3 и pole4 - varchar (150)
Произощло следующее: при добавлении большого числа записей в таблицу, почти все записи задвоились или затроились. Соответственно уникальными остались только значения поля "pole1"
Каким образом можно удалить все дубликаты всех записей?
Удаление дублирующихся записей
Модератор: Модераторы
Luxor вам не кажется, что данный вопрос, лучше и правильнее, задавать на форуме типа SQL.RU?
Luxor писал(а):почти все записи задвоились или затроились.
Неверно сконструирована база данных. К языку программирования это действительно не имеет никакого отношения. Мало того, Вы сейчас удалите все дубли тем или иным образом, но вскорости всё это повториться по новой, т.к. БД у Вас не изменилась и допускает в себе дублирование.
да. пожалуй пересмотрю структуру базы данных.
Код: Выделить всё
DELETE FROM Tab_1 WHERE pole1 NOT IN (SELECT MIN(pole1) FROM Tab_1 GROUP BY pole2,pole3,pole4)