Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Vérifiez les changements dans toutes les autres colonnes en fonction des similitudes une colonne

Les données que vous voulez essentiellement sont le nombre d'entités qui ont plus d'une valeur dans une colonne.

Ceci est plus facilement calculé sur une base de colonne :

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;

Vous pouvez formater les résultats comme bon vous semble.