Votre requête effectue une jointure externe tout en essayant d'effectuer un décompte. Si B.UserId est répertorié comme NULL, alors le count(* ) renverra également NULL. Vous pouvez résoudre ce problème en effectuant explicitement un décompte de A à l'aide de "count (A.*)" ou en l'enveloppant dans 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
ou
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