Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL / 5 сообщений из 5, страница 1 из 1
05.07.2001, 14:27
    #32008982
cONST
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL
Как удалить дублиткаты из таблицы?
Есть таблица ID - уникальное поле
Name
A1
Name и A1 могут дублироваться
При этом необходимо оставить только одно поле с такими Name и A1
...
Рейтинг: 0 / 0
05.07.2001, 14:56
    #32008986
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL
Может это подойдёт:
http://www.sql.ru/subscribe/023.shtml
...
Рейтинг: 0 / 0
05.07.2001, 15:08
    #32008987
ChA+
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL
Навскидку, в лоб
DELETE T1 WHERE ID NOT IN (SELECT MIN(ID) FROM T1 GROUP BY Name, A1)
...
Рейтинг: 0 / 0
06.07.2001, 04:53
    #32009000
BiSas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL
По моему просто можно воспользоваться
cursor чтобы удалить конкретную запись, даже если они полностью идентичны.
Если это надо сделать один раз, воспользуйся Enterprise Manager, чтобы отредактировать таблицу.
...
Рейтинг: 0 / 0
06.07.2001, 07:35
    #32009023
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL
если таблица не гигантская, то лучше всего так:

select min(ID),Name,A1
into #t from tbl
group by Name,A1

begin tran
delete tbl
insert tbl select * from #t
commit tran

Можно еще так:

delete t1
from tbl t1, tbl t2
where t1.Name=t2.Name and t1.A1=t2.A1 and t2.ID>t2.ID

Можно и как ChA+ предложил. Ну и в крайнем случае можно через курсор, но это самый неудачный вариант.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]