У меня есть требование циклически проходить через записи в таблице базы данных и группировать элементы, которые имеют похожее содержимое. Я хочу сопоставить один столбец в базе данных, и если есть похожие записи, я хочу извлечь идентификатор каждой строки и сохранить его в другой таблице, например. если бы у меня было 10 похожих строк, они были бы связаны с одной «заголовочной» записью в другой таблице.
Ниже приведен простой псевдокод для иллюстрации того, что мне нужно сделать:
For Each record in table
If There is a similar record in header table Then
Link this record to matching header table record
Else
Create new Header record and link this record
End If
End For
Я использую MSSQL 2008 с полнотекстовым поиском, который предоставит мне механизм, который мне нужен для выбора похожих записей. В настоящее время я планирую создать цикл C в коде C # и выполнить сопоставление и сохранение в SQL, вызвав хранимую процедуру для проверки на соответствие записи.
Что-то говорит мне, что все это должно быть сделано в одной хранимой процедуре (а что-то еще говорит мне сохранять логику в коде!).
Есть ли более аккуратный способ сделать это в SQL?