Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Проверете за промени във всички други колони въз основа на прилики в една колона

Данните, които основно искате, са броят обекти, които имат повече от една стойност в колона.

Това се изчислява най-лесно на база колона:

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;

Можете да форматирате резултатите както желаете.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL - Как да направя заявка за повторно приемане в TSQL?

  2. Обединете стойностите на редовете в CSV (известен още като GROUP_CONCAT за SQL Server)

  3. Неправилен синтаксис близо до „OFFSET“. Невалидно използване на опцията NEXT в оператора FETCH в ядрото на Entity Framework

  4. SQL Server Express репликация/синхронизация на база данни

  5. Колко ограничения могат да бъдат дадени на колона от таблица в SQL Server