борьба с дубликатами записей
Добавлено: 25 фев 2005, 19:32
есть запрос, который выводит максимальное значение индекса у повтояющихся записей.
Как проще всего удалить содержимое этой выборки?
Пробую так
Но зависло не подецки. Плюнул и сорвал после 15мин ожидания. Домой пора
Код: Выделить всё
CREATE TABLE "OriginalNumbers" (
"cod" INTEGER NOT NULL, /*первичный индекс*/
"id_dnb" INTEGER NOT NULL,
"O_NumberName" VARCHAR(30) NOT NULL,
"Firma" INTEGER default 1 NOT NULL
);
SELECT max(n."cod")
FROM "OriginalNumbers" n
group by n."id_dnb", n."O_NumberName", n."Firma"
having count(*)>1
Пробую так
Код: Выделить всё
delete from "OriginalNumbers" o
where exists
(
SELECT max(n."cod")
FROM "OriginalNumbers" n
group by n."id_dnb",
n."O_NumberName",
n."Firma"
having (count(*)>1) and max(n."cod")=o."cod"
)