[Db] SUM che torna null e non 0

Marcello Vezzelli marcello a vezz.it
Mar 8 Maggio 2007 17:50:21 CEST


Marcello Vezzelli ha scritto:
> 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.

No, non viene giusto.
Mi sono incaponito e con un terrificante

SELECT
    SUM(q.tipo1)-SUM(q.tipo2) FROM (
    (SELECT
        IF(tipo=1,SUM(importo),0) AS tipo1,
        IF(tipo=2,SUM(importo),0) AS tipo2,
        data
        FROM mov
        WHERE (tipo=1or rif_tipo=2) AND data ="2007-01-01"
        GROUP BY tipo)
    AS q)
GROUP BY q.data

ottengo quel che voglio.

Mi sa che è meglio fare due query lato applicativo...

Ciao
Marcello



Maggiori informazioni sulla lista Db