Use a fun��o nvl do Oracle:
Select Sum( nvl(Valor1,0) + nvl(Valor2,0 ) + nvl(Valor3,0 ) + nvl( Valor4,0
) ) from '+
' BancoSoma where Nome = '+Chr(39)+NomeCliente+Chr(39))
Kleber
"Anderson de Oliveira Furtilho" <[EMAIL PROTECTED]> on
29/02/2000 08:57:32
Please respond to [EMAIL PROTECTED]
To: "sqlwin" <[EMAIL PROTECTED]>
cc: (bcc: Kleber Sales/Procenge)
Subject: [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
|
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
|
