Exibir saldo entre receitas e despesas
17/01/2017
0
Olá, sou novato aqui e estou com um probleminha em gerar uma consulta na qual exiba o 'saldo atual' entre receitas e despesas. Tenho 2 tabelas criadas, uma pra RECEITAS e outra pra DESPESAS. Elas não possuem ligação (foreign key), então usei um UNION pra exibir tudo conforme segue o código abaixo:
Até aí tudo bem, quando dou um sum(TB_RECEITA.vl_recebido) AS VALOR ele exibe valor da receita, e do mesmo modo acontece no select abaixo do UNION.
Eu preciso listar além do valor de cada receita e de cada despesa, também um valor total que soma todas as receitas e todas as despesas, e depois subtraia das receitas as despesas dentro do período que to passando como parâmetro.
Pra exemplificar, o código do jeito que está exibe da seguinte forma filtrando por determinado período:
DESCRICAO VALOR
GASOLINA -25
INTERNET -99
SALARIO 1500
Precisaria que fosse exibido também o saldo atual que nesse caso seria os 1500 - 25 - 99 = 1376
select AUX.DESCRICAO, SUM(AUX.VALOR) AS VALOR from ( SELECT tb_receita.desc_receita AS DESCRICAO, sum(TB_RECEITA.vl_recebido) AS VALOR FROM TB_RECEITA WHERE tb_receita.data_disponivel BETWEEN :tb_receita.dt_inicial AND :tb_receita.dt_final GROUP BY 1 UNION ALL SELECT tb_despesa.desc_despesa AS DESCRICAO, SUM(tb_despesa.vl_despesa * -1) AS VALOR FROM tb_despesa WHERE tb_despesa.data_pgto BETWEEN :tb_despesa.dt_inicial AND :tb_despesa.dt_final GROUP BY 1 ) AUX GROUP BY 1;
Até aí tudo bem, quando dou um sum(TB_RECEITA.vl_recebido) AS VALOR ele exibe valor da receita, e do mesmo modo acontece no select abaixo do UNION.
Eu preciso listar além do valor de cada receita e de cada despesa, também um valor total que soma todas as receitas e todas as despesas, e depois subtraia das receitas as despesas dentro do período que to passando como parâmetro.
Pra exemplificar, o código do jeito que está exibe da seguinte forma filtrando por determinado período:
DESCRICAO VALOR
GASOLINA -25
INTERNET -99
SALARIO 1500
Precisaria que fosse exibido também o saldo atual que nesse caso seria os 1500 - 25 - 99 = 1376
Vinicius Brustolin
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)