У меня есть таблица A
ID col1 col2 status
1 ABC 123 NULL
2 ABC 214 NULL
3 BCA 001 NULL
4 ABC 123 NULL
5 BWE 765 NULL
6 ABC 123 NULL
7 BCA 001 NULL
Я хочу пометить дубликаты данных (col1, col2) и заполнить столбец = status сообщением, идентификатором которого является дубликат.
Например, ID = 4 является дубликатом ID = 1, ID = 6 является дубликатом ID = 1, а ID 7 является дубликатом ID = 3.
status = "Дубликат идентификатора = (идентификатор здесь)"
Ожидаемый результат:
ID col1 col2 status
1 ABC 123 NULL
2 ABC 214 NULL
3 BCA 001 NULL
4 ABC 123 Duplicate of ID = 1
5 BWE 765 NULL
6 ABC 123 Duplicate of ID = 1
7 BCA 001 Duplicate of ID = 3
Я могу пометить дубликаты, но не могу указать на идентификационные номера. Сценарий, который я использовал:
WITH CTE_Duplicates1 AS
(SELECT ROW_NUMBER() OVER (PARTITION BY col1,col2
ORDER BY (SELECT 0)) RN,Status
FROM tableA
)
UPDATE CTE_Duplicates1
SET qnxtStatus = 'Duplicate of ID ='
WHERE RN<>1
Пожалуйста, исправьте. Спасибо