|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Nov 2000
Città: mi
Messaggi: 18791
|
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.... |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2001
Città: Scorzè (VE)
Messaggi: 853
|
Hai provato a mettere SUM(....) as qta
where qta <> 0 ?
__________________
Mr. T. |
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Nov 2000
Città: mi
Messaggi: 18791
|
ho provato ma mi segnala nome colonna (qta) non esistente !?!
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2001
Città: Piemonte
Messaggi: 1891
|
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 |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Alma Mater Tergeste (son un mulo de Trieste)
Messaggi: 368
|
e se fai così??
SELECT campo1,campo2, SUM (campoa-campob) AS qta FROM tabelle WHERE campoa <> campob
__________________
Mentecatto innominato anzi innominabile msn: [email protected] LE MIE FOTO La mia Type-R - HONDA CLUB ITALIA! ad eterna memoria di un vil gesto moderatorio |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Lyon
Messaggi: 112
|
where (campoa-campob) <> 0
__________________
Be Glopil !!! Grand Fainéant !FANCAZZISTA MAXIMUS - Gran Modificatore della Sacra Santa Quinta Regola - Moderatore Voci Nel Web |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Alma Mater Tergeste (son un mulo de Trieste)
Messaggi: 368
|
Quote:
__________________
Mentecatto innominato anzi innominabile msn: [email protected] LE MIE FOTO La mia Type-R - HONDA CLUB ITALIA! ad eterna memoria di un vil gesto moderatorio |
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Lyon
Messaggi: 112
|
Quote:
:o Ciao Lufo !
__________________
Be Glopil !!! Grand Fainéant !FANCAZZISTA MAXIMUS - Gran Modificatore della Sacra Santa Quinta Regola - Moderatore Voci Nel Web |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Alma Mater Tergeste (son un mulo de Trieste)
Messaggi: 368
|
Quote:
Ciao Friul!
__________________
Mentecatto innominato anzi innominabile msn: [email protected] LE MIE FOTO La mia Type-R - HONDA CLUB ITALIA! ad eterna memoria di un vil gesto moderatorio |
|
|
|
|
|
|
#10 |
|
Bannato
Iscritto dal: Nov 2000
Città: mi
Messaggi: 18791
|
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!! |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non ho ben capito...non vuoi che nel risultato appaiano campi con valore 0 ?
Allora : Select * From (tuaQuery) Where qta <> 0; |
|
|
|
|
|
#12 | |
|
Bannato
Iscritto dal: Nov 2000
Città: mi
Messaggi: 18791
|
Quote:
|
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Lyon
Messaggi: 112
|
Spiegaci con parole cosa vuoi fare !
__________________
Be Glopil !!! Grand Fainéant !FANCAZZISTA MAXIMUS - Gran Modificatore della Sacra Santa Quinta Regola - Moderatore Voci Nel Web |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
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 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:36.



















