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