Saldo via SQL

Delphi

08/06/2004

:D Estou Fazendo um sistema de caixa onde tenho uma tabela em paradox.


conta descrição valor tipo => debito ou credito


como eu faço fia SQL para somar os debito e somar o credito e depois subtrair um pelo outro para saber o saldo?

fazer a consulta somar eu sei eu só não sei como filtrar para somar credito e debito.

um grande abraço a todos.


Hugofab

Hugofab

Curtidas 0

Respostas

Motta

Motta

08/06/2004

qual bd ?

em oracle seria algo assim


select
sum(decode(tipo,´D´,(-1 * valor),valor)) saldo
from tabela


teria que ver a fucntio eqv. em outros bd


GOSTEI 0
Hugofab

Hugofab

08/06/2004

o meu banco de dados e o paradox !!


GOSTEI 0
Iurims

Iurims

08/06/2004

select (sum(credito) - sum(debito)) from tabela

isso funciona no oracle, no interbase, no paradox...
eu acho que em qualquer banco realacional


GOSTEI 0
Amjorge

Amjorge

08/06/2004

Acho que eu tinha uma dúvida como esta e não consegui resolver, só na hora de imprimir que dava para fazer uma coluna saldo. Se for o saldo anterior, saldo atual, ou um saldo em uma data específica as respostas anteriores resolvem, mas se for uma coluna saldo, do tipo saldo anterior 0,00 mais R$15,00 de crédito saldo fica 15,00, menos 30,00 de débito o saldo fica - R$ 15,00 e assim por diante até acabarem os lançamentos.


GOSTEI 0
Hugofab

Hugofab

08/06/2004

O campo credito e debito e um só e todos positivos só sei se devo somar ou subtrair pelo campo tipo da operação que coloquei na tabela .

mas acho que vou criar duas query um para somar d (debito) e outro para somar C(credito ) não vejo outra fomar achei que tinha mas até agora não encontrei !!

mesmo assim obrigado !


GOSTEI 0
Motta

Motta

08/06/2004

Pelo que entendi vc tem uma tabela do tipo


tipo (d/c)
valor


como usa paradox faço uma sugestão, criei uma coluna sinal

sinal (1/-1)

assim fica mais fácil calcular os valores.

select saldo(valor * sinal)

ou separe debito/credito , devido a limitação do bd que vc usa pode ser uma solucao


GOSTEI 0
Hugofab

Hugofab

08/06/2004

vou Testar aqui se não achar um solução sua ideia já me ajudou !
value !


GOSTEI 0
POSTAR