Array
(
)

Como calcular atrasos de parcelas em SQL

Geisonc
   - 20 dez 2005

Tenho um banco com datas de pagamento e vencimento de parcelas.
Consigo fazer uma consulta de quantas pessoas estao sem pagar em tal dia, mas nao consigo fazer se a parcela foi paga em até tal dia. Ex.

Quero fazer uma consulta que me mostre o resultado de todas as pessoas que estao com até 5 dias em atraso, e nao uma consulta que me mostre quem nao pagou no 5º dia depois do vencimento.

Como seria ? Uso firebird.


Okama
   - 20 dez 2005

Geison, não entendi a diferença de 5 dias de atraso e não pagamento até o 5º dia.

No primeiro, o cliente pagou com atraso e no segundo ainda não pagou, é isso ?


Edilcimar
   - 20 dez 2005

se entendi direito, faça um select com um where nomecampodatapagamento <= nomecampodatavencimento


Edilcimar
   - 20 dez 2005

corrigindo, faça um select com um where nomecampodatapagamento >= nomecampodatavencimento +5


Geisonc
   - 20 dez 2005

Okama, o setor de vendas da empresa quer um relatório que mostre os clientes que estão em até 5 dias sem fazer o pagamento (em até cinco dias em atraso.) . Ex. O cliente tem que pagar a conta no dia 20/12. Se do dia 20 ao 25 ele nao fez o pagamento da parcela, o relatorio vai incluir ele.


5 dias è exemplo, pode ser 10 20, meses anos... o que eu escolher.


Fknyght
   - 21 dez 2005

Se eu entendi vc que saber qtos clientes possui em atraso, ou seja ainda não pagaram correto ?

Coloque o codigo abaixo numa ibquery :)

#Código


Select * from SUATABELA where ( CURRENT_DATE - :DIAS ) <= DATAVENCIMENTO


e faça
#Código
with ibquery1 do
begin
close;
params[ 0 ].AsInteger := 5; // Ou a quantidade de dias que vc procura
try
open;
except
end;
end


Eu tenho um sistema de boleta que funciona desta maneira. O cara quer saber qtos clientes estão em aberto X dias e funciona blzinha.

a expressão CURRENT_DATE e do interbase mesmo, ela retorna a data atual do computador. Ve ai qualquer coisa e so falar


Geisonc
   - 23 dez 2005

bom.. tentando tentando e tentando ficou assim...

#Código

SELECT * FROM arq_hist where paga is null and (venc between current_date - 5 and current_date) order by venc


agora é só colocar os parametros.