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

Откуда:
Сообщений: 271
Подскажите, как можно реализовать задачу, чтобы запрос находил (уже сделано) и удалял второй и последующие дубликаты строк (у которых разнятся только id, остальные значения полностью идентичны)
В таблице-исходнику на одну дату по одному подразделению может быть только уникальная строка
Удалить нужно только строки с положительными значениями
(isnull(a.[1-Банк],0)+isnull(a.[2-Банк],0))>1)


Запрос
SELECT 
         a.[id_ЦП]
        ,a.[Дата]
        ,a.[1-Банк]
        ,a.[2-Банк]
	,count(*)
  FROM [Access_BD]...[Платежи_1] a
  WHERE (isnull(a.[1-Банк],0)+isnull(a.[2--Банк],0))>1
  GROUP BY 
       a.[id_ЦП]
      ,a.[Дата]
      ,a.[1-Банк]
      ,a.[2-Банк]
  HAVING count(*)>1 
  GO
6 мар 15, 12:16    [17351809]     Ответить | Цитировать Сообщить модератору
 Re: Удаление строк с дублирующимися значениями  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
WITH CTE(N) AS
(
 SELECT ROW_NUMBER()OVER(PARTITION BY [id_ЦП],[Дата],[1-Банк],[2-Банк] ORDER BY id)
 FROM [Платежи_1]
 WHERE ISNULL([1-Банк],0)+ISNULL([2--Банк],0)>1
)
DELETE CTE WHERE N>1;
6 мар 15, 12:22    [17351860]     Ответить | Цитировать Сообщить модератору
 Re: Удаление строк с дублирующимися значениями  [new]
Glory
Member

Откуда:
Сообщений: 104751
2viper2viper
чтобы запрос находил (уже сделано) и удалял второй и последующие дубликаты строк (у которых разнятся только id, остальные значения полностью идентичны)

Ваш запрос находит число повторений для каждой комбинации a.[id_ЦП],a.[Дата],a.[1-Банк],a.[2-Банк], а не повторяющиеся записи.
6 мар 15, 12:22    [17351867]     Ответить | Цитировать Сообщить модератору
 Re: Удаление строк с дублирующимися значениями  [new]
2viper2viper
Member

Откуда:
Сообщений: 271
iap, Спасибо, работает
6 мар 15, 12:32    [17351949]     Ответить | Цитировать Сообщить модератору
 Re: Удаление строк с дублирующимися значениями  [new]
2viper2viper
Member

Откуда:
Сообщений: 271
Glory, этим руководствовался.
6 мар 15, 13:03    [17352146]     Ответить | Цитировать Сообщить модератору
 Re: Удаление строк с дублирующимися значениями  [new]
Glory
Member

Откуда:
Сообщений: 104751
2viper2viper
Glory, этим руководствовался.

Вы не можете отличить количество записей от самих записей ?
6 мар 15, 13:11    [17352190]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить