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

 

Responder a