sql >> Database teknologi >  >> RDS >> Sqlserver

Count(*) returnerer null

Din forespørgsel udfører en ydre joinforbindelse, mens den forsøger at udføre en optælling. Hvis B.UserId er angivet som NULL, vil count(* ) også returnere NULL. Du kan rette dette ved eksplicit at udføre en optælling af A ved at bruge "count (A.*)" eller ved at pakke den ind 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. Byg en dynamisk opdateringsforespørgsel i psycopg2

  2. Hvordan håndterer man forskellige typer brugere, når man logger ind?

  3. Hvordan indsætter man poster i SQL med opslåede værdier?

  4. Sådan fungerer MATCH MOD I MariaDB