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

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
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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