2016-10-13 2 views
0

Итак, у меня есть шесть столбцов (например, имя, идентификатор, SSN, адрес и т. Д.), И если четыре из них одинаковы, то мы можем сказать, что эти два являются одинаковыми людьми , Итак, как написать запрос для этого?SQL Server Как найти того же человека в

+2

Добавить 6 операторов case вместе, где вы устанавливаете значение 0 или 1 для каждого поля в зависимости от того, совпадает ли поле. Добавьте вместе деловые утверждения. Храните записи, где результат> = 4 –

+0

Thats really Genius – Leesom

ответ

0

Это позволит выбрать количество столбцов, которые не являются одинаковыми для пользователя x и пользователя y. Отсюда вы можете просто добавить счет и изменить сумму разницы, как вам хотелось бы.

SELECT (p1.name <> u2.name) 
    + (p1.id <> p2.id ) 
    + (p1.ssn <> p2.ssn ) 
    ... 
    .. 
    . 
FROM 
    peoples p1, 
    peoples p2 
WHERE p1.id = x 
    AND p2.id = y 
Смежные вопросы