Я столкнулся с проблемой, когда мне нужно исправить некоторые исторические данные c. Он содержит огромное количество данных. Чтобы исправить эти исторические данные, мне нужно объединить их с помощью найденного совпадения. Дайте мне знать, если это дубликат какой-либо другой задачи.
Вот структура таблицы:
CREATE TABLE Contacts
(
Id INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
Email VARCHAR(50),
Mobile VARCHAR(50),
Notes VARCHAR(MAX),
)
Логос слияния c будет выглядеть примерно так:
--When all 4 fields(firstName, lastName, Email, Mobile) are matching for more then one contact, merge them together
--when one record has all 4 fields, another records has only 3 matching and 4th one as null, merge them,
--when one record has all 4 fields, another records has only 2 matching and remaining two as null, merge them,
--when one record has all 4 fields, another records has only 1 matching and remaining three as null, merge them,
--when one record has 3 fields and 4th field is NULL, another record has exacly same matching records, merge them,
--when one record has 3 fields and 4th field is NULL, another records has only 1 matching and remaining three as null, merge them,
--when one record has 3 fields and 4th field is NULL, another records has only 2 matching and remaining two as null, merge them,
--when one record has 3 fields and 4th field is NULL, another records has only 1 matching and remaining three as null, merge them,
--when one record has 2 fields and 2 fields as NULL, another record has exacly same matching records, merge them,
--when one record has 2 fields and 2 fields as NULL, another records has only 1 matching field and remaining three as null, merge them,
--when one record has 1 fields and 3 fields as NULL, another record has exacly same matching, merge them,
Когда я говорю, объединить их, это означает, что объединить два элемента в один и удалить оставшийся. Я пытался сделать это с помощью курсора в списке контактов, но это не помогает мне со всеми этими комбинациями.
Я не смог найти здесь ни одного такого поста, откуда я мог бы получить какую-либо подсказку. Было бы полезно любое руководство по написанию запроса для выполнения этой операции.