|
A Tabela � Paradox, d� Certo esta fun��o ?
Abra�os
Anderson de Oliveira Furtilho
-----Mensagem Original-----
Enviada em: Ter�a-feira, 29 de Fevereiro
de 2000 10:08
Assunto: Re: [sqlwin] Sum em SQL,
Estranho
da mesma forma, se for ORACLE utilize o
nvl():
Select sum( nvl(Valor1, 0) + nvl(Valor2,
0) + nvl(Valor3, 0) + nvl(Valor4, 0) ) From ...
abra�os, Almir
----- Original Message -----
Sent: Ter�a-feira, 29 de Fevereiro de
2000 09:30
Subject: Re: [sqlwin] Sum em SQL,
Estranho
Anderson,
Acho que no exemplo que vc deu, os valores V2,V3,V4 cont�m
NULL e n�o 0 (zero). Por isso � que o resultado apresentado n�o condiz com a
verdade. Se vc estiver usando SQLServer use a fun��o COALESCE.
Select sum( coalesce(Valor1, 0) + coalesce(Valor2, 0)
+
coalesce(Valor3, 0) + coalesce(Valor4, 0) ) From
...
Esta fun��o recupera o primeiro valor N�O NULO da lista.
Logo as colunas que estiverem NULAS ser�o substitu�das por 0
-----Mensagem Original-----
Enviada em: Ter�a-feira, 29 de
Fevereiro de 2000 08:57
Assunto: [sqlwin] Sum em SQL,
Estranho
Ol� amigos da Lista,
Olha isto!!!
procedure TForm1.Button1Click(Sender:
TObject); var
NomeCliente: String;
ValorDaParcela: Extended; begin NomeCliente :=
Edit1.Text;
Query1.Close; Query1.SQL.Clear; Query1.SQL.Add ('Select
Sum(Valor1+Valor2+Valor3+Valor4) from '+ ' BancoSoma where Nome =
'+Chr(39)+NomeCliente+Chr(39)); Query1.Open;
ValorDaParcela :=
Query1.Fields[0].AsFloat;
ShowMessage(FloatToStr(ValorDaParcela));
Problemas....
Se na Tabela estiver assim Valor1 (10,00) , Valor2
(20,00), Valor3 (10,00), Valor4 (10,00) --- ent�o ele da o Resultado
(50,00).
Mas se a Tabela estiver assim Valor1(10,00), Valor2,
Valor3, Valor4 --- O Resultado � zero (0), N�O DEVERIA
APARECER
(10,00) ?
Select Sum(Valor1+Valor2+Valor3+Valor4) , ele deveria
somar 10,00 + 0,00 + 0,00 + 0,00 = 10,00, mas n�o ele mostra (
0 )
Qualquer dica eu agrade�o,
Abra�os
Anderson de Oliveira Furtilho
|