Fórum SQL - FIREBIRD - TOTAIS DE SALDO A RECEBER E PAGAR #532428

22/09/2015

0

Prezados,

Estou com um problema que acredito ser de fácil resolução, mas não consigo enxergar uma formula. Por isso peço a ajuda e paciência ao grupo.

Tenho uma tabela de Conta Corrente de Pessoas:

cod_aluno dt_vencimento valor_mensalidade dt_pagamento valor_recebido pago
001 01 09 2015 120,00 05 09 2015 120,00 S
002 05 09 2015 140,00 05 09 2015 140,00 S
003 05 09 2015 120,00 0,00 N
004 01 09 2015 140,00 01 09 2015 100,00 S

Preciso totalizar:
por Total _Receber (valor_mensalidade) em um período qualquer;
por Total_recebido (valor_recebido) em um período qualquer;
a diferença caso exista entre a receber e recebido e pago
Totais gerais do perido: Seja a soma geral de Valor_mensalidade e Valor_recebido

Tudo na mesma query.

Eu consegui chegar a query abaixo, mas não sei se o caminho é este:
Faltam os totalizadores gerai...

SELECT distinct
(SELECT SUM(VALOR_MENSALIDADE) FROM CC_ALUNOS WHERE (PAGO='S') AND (data_vencimento BETWEEN :INICIO AND :FINAL)) AS TOTAL_RECEBER_PERIODO,
(SELECT SUM(VALOR_MENSALIDADE) FROM CC_ALUNOS WHERE (PAGO='S') AND (extract(MONTH from DATA_VENCIMENTO) = extract(MONTH from CURRENT_DATE+31))) AS TOTAL_RECEBER_30DIAS,
(SELECT SUM(VALOR_RECEBIDO) FROM CC_ALUNOS WHERE PAGO='S' AND (data_vencimento BETWEEN :INICIO AND :FINAL)) AS TOTAL_RECEBIDO_PERIODO,
(SELECT SUM(VALOR_RECEBIDO) FROM CC_ALUNOS WHERE PAGO='S') AS TOTAL_RECEBIDO_GERAL,
(SELECT SUM(VALOR_MENSALIDADE)+SUM(VALOR_RECEBIDO) FROM CC_ALUNOS WHERE PAGO='S' AND (DATA_PAGAMENTO BETWEEN :INICIO AND :FINAL)) AS TOTAL_GERAL_PERIODO,
(SELECT SUM(VALOR_MENSALIDADE)+SUM(VALOR_RECEBIDO) FROM CC_ALUNOS WHERE PAGO='S') AS TOTAL_GERAL
from cc_alunos group by data_vencimento

Alguma orientação e/ou Luz...

Obrigado ao grupo!
Cezar Moniz

Cezar Moniz

Responder

Posts

24/09/2015

Mateus Carvalho

Deixa eu ver se eu entendi, você conseguiu filtrar os dados e só está querendo obter o total?
Responder

Gostei + 0

01/12/2015

Cezar Moniz

Prezado.

Sim. Tentei colocar os resultados dentro de cada variável dos selects.
Não sei se tem forma mais adequada de resolver esta questão.

Abs
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar