У меня есть сложная проблема, о которой я бы не прочь помогать, я сделал некоторые успехи, используя запросы, которые я здесь и где-то еще, но сейчас серьезно смотрю.Сочетание почти идентичных строк в 1
У меня есть список рассылки, который имеет множество близких копий, которые я пытаюсь объединить в одну значимую строку, беря данные, такие как это.
Title Forename Surname Address1 Postcode Phone Age Income Ownership Gas
Mrs D Andrews 122 Somewhere BH10 123456 66-70 Homeowner
Ms Diane Andrews 122 Somewhere BH10 123456 £25-40 EDF
и делая один ряд вдоль линий
Title Forename Surname Address1 Postcode Phone Age Income Ownership Gas
Mrs Diane Andrews 122 Somewhere BH10 123456 66-70 £25-40 Homeowner EDF
У меня есть более 127 миллионов записей, большинство дублированные с подобным рисунком, но нет четкой логики, как было доказано, когда я добавил поле идентификатора. У меня также есть более 90 столбцов, чтобы рассмотреть, так что это немного работы! Не существует четкой картины для данных, поэтому я думаю, что у меня может быть огромный случай case, чтобы попытаться подняться.
Используя следующий код, я могу получить достойное начало только при возврате полного имени, но с образцом данных - попытка сравнить поля между строками выглядит следующим образом.
SELECT c1.*
FROM
Mailing c1
JOIN
Mailingc2 ON c1.Telephone1 = c2.Telephone1 AND c1.surname = c2.surname
WHERE
len(c1.Forename) > len(c2.Forename)
AND c2.over_18 <> ''
AND c1.Telephone1 = '123456'
У кого-нибудь есть какие-либо указания относительно того, как я должен прогрессировать, пожалуйста? Я открыт для обсуждения и идей ...
Я использую SQL 2005 и извиняюсь заранее, если пометка повсюду!
Приветствия,
Jon
. , Существует причина, по которой сторонние поставщики и программное обеспечение существуют для согласования домашних хозяйств и имен. Если у вас есть база данных с 120 миллионами строк, ваша компания должна инвестировать в реальное решение этой проблемы. SQL не является адекватным решением. –
Привет, Гордон. Я работаю в хранилище данных, мы стремимся разрабатывать такие решения внутри компании. У нас есть внешние источники, но это также является ценным процессом обучения для всех. – JonTout