sql >> Base de Datos >  >> RDS >> Sqlserver

Count(*) devuelve nulo

Su consulta está realizando una combinación externa mientras intenta realizar un conteo. Si B.UserId aparece como NULL, el conteo (*) también devolverá NULL. Puede arreglar esto realizando explícitamente un conteo de A usando "contar (A.*)" o envolviéndolo en ISNULL().

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   

o

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