У меня есть ситуация в моей таблице SQL Server, где у меня есть многочисленные дубликаты записей, как следующее:Удаления дубликатов из таблицы SQL Server
SID Username InQueue
------------------------------------------------------------------
162 peeeer2 492 2017-01-18 12:20:21.820 0 354
2791 peeeer2 460 2017-01-11 00:00:00.000 1 NULL
Нежелательная запись здесь пользователь peeeer2 для кого, который я поставил InQueue = true
, Мне нужно, чтобы удалить все эти дубликаты, где InQueue
столбец устанавливается в 1 и другим критериям, в том, что имя пользователя является фактически дубликатом ...
Имя таблицы SearchedUsernames
:
delete from SearchedUsernames
where Username ??
Может кто-то помочь меня с этим?
Edit:
@TimSchmelter ти так много, это работает как шарм. Тем не менее, я получаю сообщение об ошибке. Мне нужно сначала сбросить соседние FK этой таблицы. Например, когда у меня есть соответствующая запись FK в соседнем столике под названием UserTransactions как следующее:
ID SID
----------------
162 162
2791 2791
мне нужно сначала удалить все записи в этой таблице соседней, а затем удалить дубликаты с помощью запроса, который вы написали. Тем не менее, на этот раз я бы хотел добавить ТОЛЬКО те, которые имеют дубликаты записей и установили InQueue = 0;
Так сценарий будет выглядеть следующим образом:
уронить FK записывает SID из обоих дублей в соседних столов UserTransactions
Затем выполнить запрос, DTV & Tim писал незначительные изменения в удаляйте только те записи, которые дублируются и установили InQueue = 0;
Google много? Возможный дубликат [Как удалить повторяющиеся строки?] (Http://stackoverflow.com/questions/18932/how-can-i-remove-duplicate-rows) – HoneyBadger
@HoneyBadger да Я понимаю ваше утверждение. Однако, поскольку у меня есть около 400 тыс. Записей в таблице, я не мог бы рискнуть написать запрос самостоятельно, если вы понимаете мою озабоченность ... – User987
Не совсем, вы всегда можете сделать (меньшую) резервную копию таблицы для тестирования на. – HoneyBadger