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
|