Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371

    Problema con valori non esistenti in operazioni aritmetiche

    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.
    A volte penso che, nel darci l'intelletto, la natura sia stata più sadica che generosa.

  2. #2
    il regolamento (mai letto?) impone di indicare il db proprio perché, in casi come questo, la risposta potrebbe differire proprio in base al db usato

  3. #3
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371
    Le specifiche richieste in questo lavoro impongono di usare solo lo standard SQL. Ho bisogno di una soluzione che possa essere applicata a qualsiasi motore compatibile con lo standard.
    A volte penso che, nel darci l'intelletto, la natura sia stata più sadica che generosa.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.