[Db] SUM che torna null e non 0
Marcello Vezzelli
marcello a vezz.it
Mar 8 Maggio 2007 17:32:47 CEST
Cristiano Verondini ha scritto:
>
>>> SELECT (
>>> (SELECT SUM(importo) FROM mov WHERE data ="2007-01-01" AND tipo=1
>>> GROUP BY tipo) +
>>> (SELECT SUM(importo) FROM mov WHERE data ="2007-01-01" AND tipo=2
>>> GROUP BY tipo)
>>> )
>>>
>>> mi torna null, e non la somma dei record di tipo 1!!!
>
> Oddio, un modo molto macchinoso per ottenere una somma di valori
> che secondo me andrebbe fatta a livello applicativo!
Dai non è poi macchinoso...
La cosa bella è che se faccio
SELECT IF(tipo=1,SUM(importo),0) + IF(tipo=2,SUM(importo),0) FROM mov
WHERE (tipo=1 OR tipo=2) AND data ="2007-01-01"
sembra che venga giusto, ci sto ancora guardando bene.
>
> BTW, NULL è un valore particolare in un DB, per cui la somma fra
> qualsiasi valore numerico e NULL ha sempre come risultato NULL.
In questo modo impongo 0 e schivo NULL.
Ciao
Marcello
Maggiori informazioni sulla lista
Db