Fórum resultado de soma usando Select em padrão DBF - alguém sabe #280831
09/05/2005
0
SELECT CODIGO, CONTRATO, DATA, TIPO, VALOR, FROM CORRENTE
registros:
001 834 05/01/2005 C 150,00
001 834 05/01/2005 D 50,00
002 833 05/01/2005 C 300,00
002 833 05/01/2005 D 50,00
resultado:
001 834 05/01/2005 C 100,00
002 833 05/01/2005 C 250,00
Obs: nota-se que a instrução deverá fazer o calculo entre os valores do TIPO (C/D) e postar somente o resultado...
Walfrido
Curtir tópico
+ 0Posts
10/05/2005
Nilza
nunca usei o paradox para saber, mais acho que uma das duas funcionará:
1 - select distinct(tipo), sum(valor) as totol from corrente
2 - select sum(valor) from corrente group by tipo
[]´s
Gostei + 0
10/05/2005
Carlosrm
1) Você vai precisar desmembrar o campo valor em 2: um para os valores lançados a crédito e o outro para valores lançados a débito.
Depois disso, escreva a sql abaixo para trazer o resultado que vc quer, (testei no W98, Delphi 6, Bde + TQuery).
select codigo, contrato, max(data) as Data_Saldo, (sum(debito) - sum(credito)) as Saldo
from corrente
group by codigo, contrato
order by codigo
Para definir se é C ou D, na saída para o usuário, teste com um IF se é maior que 0.0 (´C´), menor que 0.0 (´D´) ou igual a 0.0 (´´)
carlosrm
Gostei + 0
10/05/2005
Walfrido
Gostei + 0
10/05/2005
Carlosrm
eu me expressei mal, desculpe; na realidade será necessário criar dois novos campos na sua tabea Corrente: um para armazenar os lançamentos a débito e o outro para atmazenar os lançamentos a crédito. Depois disso, o campo Valor e Tipo não serão mais necessários.
Sua tabela Corrente,db ficaria assim:
(Chave Primaria) Codigo Contrato Data Credito Debito
1 1 834 05/01/2005 150,00
2 1 834 05/01/2005 50,00
3 2 833 05/01/2005 300,00
4 2 833 05/01/2005 50,00
carlosrm
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)