Buongiorno.

Ho delle difficoltà con una query che deve eseguire operazioni aritmetiche su dei dati che potrebbero essere NULL o inesistenti (la WHERE di estrazione non estrae alcun record).

In quei casi la query restituisce NULL, a me servirebbe che restituisse il risultato dell'operazione come se quel valore fosse 0.

La query in questione è la seguente

codice:
SELECT A.NomeImpianto AS NomeImpianto,
A.Anno AS Anno,
A.Mese AS Mese,
A.OrigineLettureContatori AS OrigineLettureContatori,
A.TotaleImmissioniMensile -
	(SELECT	CASE B.TotaleImmissioniMensile
				WHEN NULL THEN 0
				ELSE B.TotaleImmissioniMensile
			END
	FROM CensimentoImpianti.SommaSostContMese AS B
	WHERE A.NomeImpianto = B.NomeImpianto
	AND A.OrigineLettureContatori =  B.OrigineLettureContatori
	AND B.Anno =	CASE A.Mese
						WHEN 1 THEN A.Anno - 1
						ELSE A.Anno
					END
	AND B.Mese = 	CASE A.Mese
						WHEN 1 THEN 12
						ELSE A.Mese -1
					END
	) AS ProduzioneMensile
FROM CensimentoImpianti.SommaSostContMese AS A
Ho provato con varie sintassi di CASE x WHEN NULL, CASE WHEN ISNULL(x), CASE WHEN x IS NULL ma restituisce sempre la prima riga NULL.

Grazie per i suggerimenti.