Как обновить (N-1) записей из N повторяющихся записей в таблице базы данных (SQL SERVER 2005) - PullRequest
1 голос
/ 08 августа 2011

как обновить (N-1) записей из N повторяющихся записей в таблице базы данных (SQL SERVER 2005)

Справочная информация. Я создаю временную таблицу после сравнения и вставки записей из двух других таблиц.

поэтому временная таблица имеет несколько записей, которые имеют несколько повторяющихся полей (скажем: идентификатор заказа, идентификатор транзакции и т. Д.), Но различаются

Я получил такие так называемые дубликаты записей, но не понимаю, как обновить записи N-1 среди этих записей N.

Любая помощь приветствуется (особенно пример кода). Заранее спасибо.

1 Ответ

1 голос
/ 08 августа 2011
WITH duplicates AS (
  SELECT
    ROW_NUMBER() OVER (PARTITION BY x,y,z ORDER BY a,b,c) AS duplicate_id,
    *
  FROM
    myData
)

UPDATE
  duplicates
SET
  foo = bar
WHERE
  duplicate_id > 1

x,y,z - поля, необходимые для идентификации дубликатов.Это потенциально все поля, в зависимости от вашего определения дубликата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...