Fórum Saldo Mês Anterior #61095

17/03/2010

0

Bom dia a todos por gentileza estou com um problema tenho uma tabela HISTORICO.  TABLE HISTORICO (
  HIS_CODIGO INTEGER NOT NULL,
  HIS_CONTA VARCHAR(20) ,
  HIS_DESCRICAO VARCHAR(200) ,
  HIS_TIPO TIPO 'C' ou 'D',
  HIS_DATA DATE,
  HIS_VALOR NUMERIC(15, 2));   Tenho a instrução sql abaixo que me traz o total de Creditos e de Debitos e o Saldo.   SELECT EXTRACT (MONTH FROM HIS_DATA) AS MES, EXTRACT (YEAR FROM HIS_DATA) AS ANO,
/*SUM(HIS_VALOR) AS TOTAL,*/
SUM((CASE WHEN HIS_TIPO = 'C' THEN HIS_VALOR ELSE 0 END)) AS CREDITO,
SUM((CASE WHEN HIS_TIPO = 'D' THEN HIS_VALOR ELSE 0 END)) AS DEBITO,
SUM((CASE WHEN HIS_TIPO = 'C' THEN HIS_VALOR ELSE 0 END)) - SUM((CASE WHEN HIS_TIPO = 'D' THEN HIS_VALOR ELSE 0 END)) AS SALDO
FROM HISTORICO HIS
WHERE HIS.HIS_DATA BETWEEN '11/01/2009' AND '11/30/2009'
GROUP BY ANO, MES Minha duvida é a seguinte tem como eu pachar através da data inicial e final puchar o saldo do mes anterior por exemplo como esta ai 01/11/2009 a 30/11/2009 teria que me puchar tambem 01/10/2009 a 31/10/2009 sendo o saldo. Estou usando o Fariberd 2.1 no Windows.   Obrigado pela Atenção
Wilson Moraes

Wilson Moraes

Responder

Posts

17/03/2010

Emerson Nascimento

veja se esta instrução funciona:

SELECT
  (SELECT
     COALESCE(SUM((CASE WHEN HIS_TIPO = 'C' THEN HIS_VALOR ELSE 0 END)),0) -
     COALESCE(SUM((CASE WHEN HIS_TIPO = 'D' THEN HIS_VALOR ELSE 0 END)),0)
   FROM HISTORICO
   WHERE HIS_DATA < '11/01/2009'
  ) AS SALDOANTERIOR,
  EXTRACT (MONTH FROM HIS_DATA) AS MES,
  EXTRACT (YEAR FROM HIS_DATA) AS ANO,
  COALESCE(SUM((CASE WHEN HIS_TIPO = 'C' THEN HIS_VALOR ELSE 0 END)),0) AS CREDITO,
  COALESCE(SUM((CASE WHEN HIS_TIPO = 'D' THEN HIS_VALOR ELSE 0 END)),0) AS DEBITO,
  COALESCE(SUM((CASE WHEN HIS_TIPO = 'C' THEN HIS_VALOR ELSE 0 END)),0) -
  COALESCE(SUM((CASE WHEN HIS_TIPO = 'D' THEN HIS_VALOR ELSE 0 END)),0) AS SALDO
FROM
  HISTORICO HIS
WHERE
  HIS.HIS_DATA BETWEEN '11/01/2009' AND '11/30/2009'
GROUP
  BY ANO, MES
Responder

Gostei + 0

17/03/2010

Wilson Moraes

Emerson Obrigado era isso que eu queria.
Responder

Gostei + 0

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

Aceitar