Problemas com o SELECT SUM em uma aplicação delphi
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
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
Curtidas 0
Respostas
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
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
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
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