sql >> Databasteknik >  >> RDS >> Sqlserver

Count(*) returnerar null

Din fråga utför en yttre koppling medan den försöker utföra en räkning. Om B.UserId är listad som NULL, kommer count(* ) att returnera NULL också. Du kan fixa detta genom att explicit utföra en räkning av A med "count (A.*)" eller genom att slå in det i 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   

eller

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. hur matar jag ut radnamnet baserat på en länkningstabell?

  2. Vad orsakar PDO-fel Kan inte köra frågor medan andra obuffrade frågor är aktiva?

  3. Migrera mySQL till Firebase

  4. Hur man skickar varchar med enstaka citat till Stored Proc i Oracle