Как удалить дубликаты записей?

Zigs
Дата: 14.10.2003 16:15:34
Есть такая интересная задача: когда-то, при импорте данных из файла dbf в таблицу MS SQL затроились записи, т.е. у каждой записи стало по два дубликата. Каждая запись, включая дубликаты имеет свой идентификатор. Структура таблицы простая: id int, name varchar(50). Сейчас эти дубликаты нужно покилять. Но прога рабочая и некоторые записи используются (Кол-во таблицы, кот. ссылаются на эту таблицу > 5). Вопрос как убить дубликаты, которые не используются.
Благодарен за любую рабочую идею :)
sergei_p
Дата: 14.10.2003 16:32:12
delete from table_name

where [id] not in (select [id] from table1)
and [id] not in (select [id] from table2)
and [id] not in (select [id] from table3)
and [id] not in (select [id] from table4)
and [id] not in (select [id] from table5)

удаляем все записи на которые не ссылок из других таблиц
Zigs
Дата: 14.10.2003 17:03:44
А как это сделать не делая селектов из сссылающихся таблиц?
sergei_p
Дата: 14.10.2003 17:13:24
delete table_name from table_name inner join table1
on table_name.[id] <> table1.[id] inner join table2
on table_name.[id] <> table2.[id] inner join table3
on table_name.[id] <> table3.[id] inner join table4
on table_name.[id] <> table4.[id] inner join table5
on table_name.[id] <> table5.[id]
злой шаман
Дата: 14.10.2003 17:16:40
Вот не советую так делать.
sergei_p
Дата: 14.10.2003 17:17:10
Почему?
злой шаман
Дата: 14.10.2003 17:22:31
А подумайте сами.
sergei_p
Дата: 14.10.2003 17:31:05
Домой проста мне пора, вот и ступил.