[firebase-br] sql do oracle para o firebird

Fabiano Alex Arndt fabianoallex em pop.com.br
Ter Mar 29 16:39:25 -03 2005


Boa tarde pessoal,

tenho uma sql em oracle que traz as contas a
receber de acordo com uma data base,

por exemplo, se eu passar a data base como 28/02/2005,
será retornada a situação das contas a receber
naquela data, ignorando os pagamentos e novas contas
após essa data. e funciona legal.

SELECT
  COD_CONTA_RECEBER,
  DT_VENCIMENTO,
  SUM(VAL_CONTA_RECEBER) AS VAL_RESIDUAL
FROM (
  SELECT
    TB_CONTA_PAGAR.COD_CONTA_RECEBER,
    TB_CONTA_PAGAR.DT_VENCIMENTO,
    TB_CONTA_PAGAR.VAL_CONTA_RECEBER
  FROM
    TB_CONTA_PAGAR
  WHERE
    DT_EMISSAO <= :DT_BASE

  UNION ALL

  SELECT
    TCR.COD_CONTA_RECEBER,
    TCR.DT_VENCIMENTO,
    -SUM(TCRL.VAL_LIQUIDACAO) AS VAL_CONTA_RECEBER
  FROM
    TB_CONTA_RECEBER TCR,
    TB_CONTA_RECEBER_LIQ TCRL
  WHERE
    TCR.COD_CONTA_RECEBER = TCRL.COD_CONTA_RECEBER
    AND
    TCR.DT_EMISSAO <= :DT_BASE
    AND
    TCRL.DT_LIQUIDACAO <= :DT_BASE
  GROUP BY
    TCR.COD_CONTA_RECEBER,
    TCR.DT_VENCIMENTO
)
GROUP BY
  COD_CONTA_RECEBER,
  DT_VENCIMENTO


preciso fazer algo parecido em firebird, porém o firebird
não suporta esse tipo de subselect.

gostaria de saber se existe uma forma alternativa de
conseguir obter o mesmo resultado no firebird.

tenho varias outras situações nas quais preciso usar data base
para gerar relatorios, por isso preciso achar uma solução
para isso.

já quebrei a cabeça e nao achei nenhuma solução viável.

obrigado,
Fabiano.




Mais detalhes sobre a lista de discussão lista