私のデータは次のように設定されています:
CREATE TABLE TableA
(
id int IDENTITY,
name varchar(256),
description varchar(256)
)
CREATE TABLE TableB
(
id int IDENTITY,
name varchar(256),
description varchar(256)
) --unique constraint on name, description
CREATE TABLE TableA_TableB
(
idA int,
idB int
) --composite key referencing TableA and TableB
状況は、一意の制約に違反する重複レコードが TableB に多数あり、それらの重複レコードが TableA_TableB で参照されているということです。だから私はこれらのレコードを削除しようとしています.重複ごとに異なる ID ではなく、TableB ですか?
;WITH cte
AS (SELECT ROW_NUMBER() OVER (PARTITION BY [Name], [Description]
ORDER BY ( SELECT 0)) RN
FROM TableB)
DELETE FROM cte
WHERE RN = 1