2013-04-29 6 views
2

У меня есть две базы данных, в каждой из которых есть таблица, содержащая некоторые данные о пользователях. Они не содержат одинаковых данных, но имеют одинаковые поля. Плохо то, что эти две таблицы могут иметь ссылки на тех же пользователей, но их идентификаторы могут не совпадать. Вот почему мне приходится сравнивать некоторые поля (например, имя, фамилия, DOB и телефон) из обеих таблиц, и если все поля совпадают, я могу предположить, что записи из обеих таблиц фактически описывают одного и того же пользователя.Сравнение данных из двух баз данных

Вопрос в том, что является наиболее эффективным способом сравнения полей из обеих таблиц? Должен ли я просто сравнить их, как это:

t1.Name = t2.Name И t1.Surname = t2.Surname И t1.DOB = t2.DOB И t1.Telephone = t2.Telephone

или я могу рассчитать хэш этих полей, а затем сравнить хэши? Или может быть что-то еще?

+0

Что точно вы хотите знать? Есть ли вообще различия? Какие строки? Или какие столбцы? Этот план сделать дальше? Верный? Слияние? –

ответ

1

Похоже, идеальное время, чтобы использовать INTERSECT

http://msdn.microsoft.com/en-us/library/ms188055.aspx

Однако если у вас есть какие-либо дубликаты пользователей и хотите, чтобы идентифицировать их, придерживайтесь внутреннее соединение (INTERSECT возвращает только отдельные матчи)

+0

Спасибо, я посмотрю. – xx77aBs

Смежные вопросы