[firebase-br] Dúvidas com sub-select

João Carlos Rocha Júnior doutortico em gmail.com
Ter Maio 5 08:29:09 -03 2009


Bom dia senhores,

O que eu preciso é o seguinte:

Eu tenho estes valores:

Duplicata     Dt. Faturamento   Dt. Vecimento     Valor Duplicata
    1A                  30/04                 30/05
100,00
    1B                  30/04                 15/06
150,00

Eu preciso subtrair a Dt. Vencimento da Dt. Faturamento para ter uma
quantidade de dias:
          30/05     -     30/04     =     30
          15/06     -     30/04     =     46

Multiplicar a quantidade de dias pelo Valor Duplicata:
          30     *     100,00     =     3000,00
          46     *     150,00     =     6900,00


Até aqui eu consegui fazer assim:

Select a.FATURA,a.NF,a.EMISSAO,a.VENCTO,a.VALOR,(a.VENCTO - a.EMISSAO) as
DIAS,
       (Select Sum(b.VALOR * (a.VENCTO - a.EMISSAO)) from FIN_REC_001 b
where (b.FATURA = a.FATURA)) as SOMA
from
  FIN_REC_001 a
where
  (a.VENCTO between '2008-05-01' and '2008-05-30') and
  (a.PAGA = 'N') and (a.CODIGO = 4690)
group by
  a.FATURA,a.NF,a.EMISSAO,a.VENCTO,a.VALOR

Não tenho prática em fazer cálculos diretamento no banco, portanto acredito
que haja uma forma melhor de se escrever esta instrução.
Tem como na mesma instrução eu conseguir a soma (3000,00 + 6900,00) e
dividir essa soma pela soma dos valores da duplicata (100,00 + 150,00)?

9900,00     /     250,00     =     39,6

Obrigado doutores. Espero ter conseguido me explicar.



Mais detalhes sobre a lista de discussão lista