View Full Version : SQL scartare valori a 0 in una SUM...
Sapete come fare per scartare i valori che danno risultato 0 in una SUM ???
Precisamente ho una select di diversi campi tra cui uno è la somma e sottrazione di un determinato campo, e siccome può darmi 0 come risultato lo vorrei scartare.
SELECT campo1,campo2, SUM (campoa-campob) qta
from tabelle
where ????
ho provato a mettere nella where: qta<>0 ma mi dice che non esiste la colonna !!
A dimenticavo, è una select x creare un report in SQL REPORT....
Tassadar
26-02-2002, 09:35
Hai provato a mettere SUM(....) as qta
where qta <> 0 ?
ho provato ma mi segnala nome colonna (qta) non esistente !?!
Scusa, ma SUM(campoa-campob) ti ritorna lo stesso valore x tutti i record della query?
Nn capisco che cosa faccia..
.. se mi aiuti a capire forse ti posso dare una mano:p
e se fai così??
SELECT campo1,campo2, SUM (campoa-campob) AS qta
FROM tabelle
WHERE campoa <> campob
where (campoa-campob) <> 0
Originariamente inviato da badaze
[B]where (campoa-campob) <> 0
scondo me la mia è più simpatica! :D
Originariamente inviato da lufo
[B]
scondo me la mia è più simpatica! :D
Ma xche fare semplice quando puoi fare complicato !
:o
Ciao Lufo !
;)
Originariamente inviato da badaze
[B]
Ma xche fare semplice quando puoi fare complicato !
:o
Ciao Lufo !
;)
perchè tutti i bravi programmatori sanno bene come complicarsi la vita! :D
Ciao Friul! ;)
Purtroppo io ho semplificato con campoa e campob ,ma in verità è una tabella contenente delle quantità associate ad una causale ed in base a questa esegue la somma o la sottrazione. Quindi il campo qta non è proprio (campoa-campob) ma è:
sum(decode(sign(50-nvl(mpcodcau,0)),1,nvl(mpqta,0),-1,-nvl(mpqta,0)))as qta
Ho provato a mettere tutta la stringa nella where ma essendo una funzione di raggruppamento (sum) sql si arrabbia!!
Non ho ben capito...non vuoi che nel risultato appaiano campi con valore 0 ?
Allora :
Select *
From (tuaQuery)
Where qta <> 0;
Originariamente inviato da cionci
[B]Non ho ben capito...non vuoi che nel risultato appaiano campi con valore 0 ?
Allora :
Select *
From (tuaQuery)
Where qta <> 0;
esatto, solo che così mi dà un errore dicendo che non esiste la colonna qta (essendo un alias). Il qta è il risultato di una sum(..)
Spiegaci con parole cosa vuoi fare !
Io credo che così debba funzionare :
SELECT *
FROM (SELECT ...., sum(decode(sign(50- nvl(mpcodcau,0)),1,nvl(mpqta,0),-1,-nvl(mpqta,0))) AS qta
FROM Tabella)
WHERE qta <> 0
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.