Fonction ISNULL, remplace null par 0

Je crée des classments pour la Premier League anglaise. J'ai besoin de faire des classments pour les records à la maison et à l'extérieur. Une des équipes n'a pas de pertes à domicile, donc SQL count comme une valeur nulle et non nulle. Je veux replace la valeur nulle par un 0. J'ai de la difficulté à get les résultats désirés.

select ht.Team, CASE when FTR IS NULL then 0 else count(ht.FTR) END as LossesHome Into dbo.HomeLoss from dbo.HomeTeam ht where FTR = 'A' group by ht.Team, ht.FTR 

Je pensais que cela me donnerait les résultats souhaités, cependant, il ne restait que 19 équipes (il y en a 20). J'ai lu d'autres questions qui utilisent des fonctions coalesce et isnull et les ai essayées aussi bien mais je n'ai toujours que 19 équipes returnnées.

Toute aide serait appréciée. Si quelqu'un a besoin de plus d'informations ou de code s'il vous plaît faites le moi savoir.

Merci encore.

On dirait que le problème est dans votre clause WHERE où vous n'incluez pas la valeur null FTR.

 select ht.Team, CASE when FTR IS NULL then 0 else count(ht.FTR) END as LossesHome Into dbo.HomeLoss from dbo.HomeTeam ht where FTR = 'A' or FTR is null group by ht.Team 
 SELECT ISNULL(myColumn, 0 ) FROM myTable 

vous pouvez utiliser la fonction coalesce: –

 select ht.Team, coalesce(count(ht.FTR) as count_LossesHome,0) Into dbo.HomeLoss from dbo.HomeTeam ht where FTR = 'A' group by ht.Team