Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как удалить одинаковые записи  [new]
Askat
Member

Откуда:
Сообщений: 487
как удалить одинаковые записи в поле id?
1 июл 09, 08:26    [7361627]     Ответить | Цитировать Сообщить модератору
 Re: как удалить одинаковые записи  [new]
Askat
Member

Откуда:
Сообщений: 487
Askat
как удалить одинаковые записи в поле id?


Sorry... неправильно задал вопрос, точнее как удалить дубликаты в таблице по id???
1 июл 09, 08:41    [7361651]     Ответить | Цитировать Сообщить модератору
 Re: как удалить одинаковые записи  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31175
Askat
как удалить одинаковые записи в поле id?
Проще и быстрее всего перелить с distinct-ом в новую таблицу.
1 июл 09, 08:42    [7361654]     Ответить | Цитировать Сообщить модератору
 Re: как удалить одинаковые записи  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Askat
Sorry... неправильно задал вопрос
Это точно! (п.4 и п.6)
1 июл 09, 08:43    [7361656]     Ответить | Цитировать Сообщить модератору
 Re: как удалить одинаковые записи  [new]
BugsBunny#
Guest
CREATE TABLE #tmp ([id][int], [val][nvarchar](20))

INSERT INTO #tmp
	SELECT 1 as id, '1111' as val
	UNION 
	SELECT 2 as id, 'dsfsddfsd' as val
	UNION
	SELECT 3 as id, '1111' as val
	UNION
	SELECT 4 as id, '32323' as val

DELETE FROM #tmp
FROM #tmp LEFT OUTER JOIN 
(
	SELECT MIN(id) as id 
	FROM #tmp
	GROUP BY val
)t1 ON #tmp.id = t1.id
WHERE t1.id is null


SELECT * FROM #tmp

DROP TABLE #tmp
Результаты

id          val
----------- --------------------
1           1111
2           dsfsddfsd
4           32323
1 июл 09, 09:17    [7361707]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить