Como calcular atrasos de parcelas em SQL
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.
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
Curtidas 0
Respostas
Okama
20/12/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 ?
No primeiro, o cliente pagou com atraso e no segundo ainda não pagou, é isso ?
GOSTEI 0
Edilcimar
20/12/2005
se entendi direito, faça um select com um where nomecampodatapagamento <= nomecampodatavencimento
GOSTEI 0
Edilcimar
20/12/2005
corrigindo, faça um select com um where nomecampodatapagamento >= nomecampodatavencimento +5
GOSTEI 0
Geisonc
20/12/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.
5 dias è exemplo, pode ser 10 20, meses anos... o que eu escolher.
GOSTEI 0
Fknyght
20/12/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 :)
e faça
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
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
GOSTEI 0
Geisonc
20/12/2005
bom.. tentando tentando e tentando ficou assim...
agora é só colocar os parametros.
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.
GOSTEI 0