sql >> Database >  >> RDS >> Sqlserver

Count(*) retourneert null

Uw query voert een outer join uit terwijl u probeert een telling uit te voeren. Als B.UserId wordt vermeld als NULL, retourneert de count(* ) ook NULL. U kunt dit oplossen door expliciet een telling van A uit te voeren met "count (A.*)" of door het in ISNULL() te wikkelen.

select A.UserId, B.UserId, count(A.*)
  from select tableA A 
  left outer join tableB B
    on A.UserBNumber = B.Number
 group by A.UserId, B.UserId   

of

select A.UserId, B.UserId, isnull(count(*),0)
  from select tableA A 
  left outer join tableB B
    on A.UserBNumber = B.Number
 group by A.UserId, B.UserId   


  1. .sql-bestand geeft de kolomkoppen in csv-bestand niet terug

  2. Hoe records uit een tabel weer te geven die is geordend zoals in de waar-clausule?

  3. Dubbele rijen verwijderen en alleen de oudste rij verlaten?

  4. PostgreSQL-zelfstudie voor beginners - Alles wat u moet weten over PostgreSQL