Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Verifique se há alterações em todas as outras colunas com base nas semelhanças de uma coluna


Os dados que você deseja basicamente são o número de entidades que possuem mais de um valor em uma coluna.

Isso é mais facilmente calculado em uma base de coluna:
select sum(case when NumFirstNames <> 1 then 1 else 0 end) as DifferentFirstNames,
       sum(case when NumLastNames <> 1 then 1 else 0 end) as DifferentLastNames,
       sum(case when NumSSN <> 1 then 1 else 0 end) as DifferentSSN,
       sum(case when NumPhone <> 1 then 1 else 0 end) as DifferentPhone       
from (select EncounterId, count(*) as Num,
             count(distinct FirstName) as NumFirstNames,
             count(distinct LastName) as NumLastNames,
             count(distinct SSN) as NumSSN,
             count(distinct Phone) as NumPhone
      from table t
      group by EncounterId
     ) e;

Você pode formatar os resultados como quiser.