Problemas com o SELECT SUM em uma aplicação delphi

Delphi

04/09/2006

Vejam, preciso somar todos o valores em que TIPO_MOVIMENTO = ´E´ (Entrada), somar todos o valores em que TIPO_MOVIMENTO = ´S´ e calcular a diferença entre eles para saber o saldo.

SELECT DESCRICAO,
VALOR,
TIPO_MOVIMENTO,
SUM(COALESCE(VALOR,0)) AS SALDOE,
SUM(COALESCE(VALOR,0)) AS SALDOS,
(SUM(COALESCE(VALOR,0)) - SUM(COALESCE(VALOR,0))) AS SALDO
DATA_MOVIMENTO
FROM DESPESAS


Emir Neto

Emir Neto

Curtidas 0

Respostas

Acacio

Acacio

04/09/2006

coloque assim:

SELECT DESCRICAO,
VALOR,
TIPO_MOVIMENTO,
SUM(COALESCE(VALOR,0)) AS SALDOE,
SUM(COALESCE(VALOR,0)) AS SALDOS,
(SUM(COALESCE(VALOR,0)) - SUM(COALESCE(VALOR,0))) AS SALDO
DATA_MOVIMENTO
FROM DESPESAS
GROUP BY DESCRICAO,VALOR,TIPO_MOVIMENTO


GOSTEI 0
Emir Neto

Emir Neto

04/09/2006

Não funcionou, informa que há erro e o [b:9dac959645]problema se encontra no sum e no group by[/b:9dac959645] e mesmo que funcionasse [b:9dac959645]como saberia que saldoe era soma de todos os registros com tipo_movimento = ´e´ e saldos a soma de todos os registros com tipo_movimento = ´s´??? [/b:9dac959645]


GOSTEI 0
Siam

Siam

04/09/2006

Select Descricao, Tipo_Movimento, (Select Sum(Valor) From Despesas Where Tipo_Movimento = ´E´) as SaldoE, (Select Sum(Valor) From Despesas Where Tipo_Movimento = ´S´) as SaldoS, ((Select Sum(Valor) From Despesas Where Tipo_Movimento = ´E´) - (Select Sum(Valor) From Despesas Where Tipo_Movimento = ´S´) ) as Saldo From Despesas Group By Descricao, Tipo_Movimento



GOSTEI 0
POSTAR