Como calcular atrasos de parcelas em SQL

20/12/2005

0

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.


Geisonc

Geisonc

Responder

Posts

20/12/2005

Okama

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 ?


Responder

20/12/2005

Edilcimar

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


Responder

20/12/2005

Edilcimar

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


Responder

20/12/2005

Geisonc

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.


Responder

21/12/2005

Fknyght

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

Coloque o codigo abaixo numa ibquery :)

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


e faça
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


Responder

23/12/2005

Geisonc

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

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.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar