Fórum Duvida grande que parece ser bem facil #510254
11/02/2015
0
legenda do status das parcelas : P = paga, A = aberta
A tabela preenchida ficaria assim:
campos da tabela: num_titulo, num_parcela. cod_cliente, data_vencimento, data_quitacao, valor_da_venda, qtde_parcelas , stutus_parcela
1234 | 1 | 23 | 11/02/2015 | 11/02/2015 | 150,00 | 3 | P
1234 | 2 | 23 | 11/03/2015 | 11/02/2015 | 150,00 | 3 | P
1234 | 3 | 23 | 11/04/2015 | NULL | 150,00 | 3 | A
amigos estou precisando do seguinte
selecionar os contratos que foram quitados completos em um período banco de dados PostgreSQL 8.2
consigo selecionar mais vem com parcelas em abertas pelo meio, não é o que quero alguém pode me ajudar??? fico bem grato e obrigado a todos
Marlos Silva
Curtir tópico
+ 0Posts
11/02/2015
Fernando C
http://www.linhadecodigo.com.br/artigo/2975/comandos-basicos-em-sql-insert-update-delete-e-select.aspx
http://www.linhadecodigo.com.br/artigo/75/principais-instrucoes-em-sql.aspx
Gostei + 0
11/02/2015
Thiago Santana
http://www.linhadecodigo.com.br/artigo/2975/comandos-basicos-em-sql-insert-update-delete-e-select.aspx
http://www.linhadecodigo.com.br/artigo/75/principais-instrucoes-em-sql.aspx
O seu select será mais ou menos isso aqui:
SELECT num_titulo, num_parcela. cod_cliente, data_vencimento, data_quitacao, valor_da_venda, qtde_parcelas , stutus_parcela FROM TABELA_TITULOS WHERE ((stutus_parcela = 'P') AND (data_quitacao BETWEEN '01/01/2010' AND '30/01/2010'))
Pode está com erros pois não tenho sua base de dados para testar!
Espero ter colaborado!
Gostei + 0
11/02/2015
Marlos Silva
seria mais ou menos assim..
ex: tenho um contrato = 123 e o mesmo tem 5 parcelas no total certo ? 3 delas estão pagas 01 | 02 | 03 e esta faltando duas correto ?
o código que você passou está fazendo o seguinte:
num_contra | num_parc | Situacao | data_pgto | total_de_parcelas | total_dos_titulos | valor_da_parcela |
123 | 01 | P | 02/01/2014 | 5 | 250,00 | 50.00 |
123 | 02 | P | 02/02/2014 | 5 | 250,00 | 50.00 |
123 | 03 | P | 02/03/2014 | 5 | 250,00 | 50.00 |
****************************************************************************************************************************************************
se o contrato não tem as 5 parcelas pagas, então o contrato não esta liquidado certo ?
parcelas restantes do contrato 123 = 04 | 05 que estão com o status 'A' de abertas
123 | 04 | A | __ /__ /___ | 5 | 250,00 | 50.00 |
123 | 05 | A | __ /__ /___ | 5 | 250,00 | 50.00 |
ou seja esse contrato não tem que aparecer, pq não tem todos os títulos pagos, mesmo que tenha alguma parcela entre o período que informei.
acho que se fosse filtrado assim daria cero: quando a data de pagamento da ultima parcela quitada for na mesma data do filtro, então sabemos que é a ultima parcela representa que o contrato esta pago por completo.
Gostei + 0
11/02/2015
Thiago Santana
Daí você faria o seguinte:
SELECT num_titulo FROM TB_MASTER tm WHERE NOT EXISTS (SELECT num_titulo FROM TB_DETAIL td where td.situacao = 'A' AND td.num_titulo = tm.num_titulo)
TB_MASTER = Tabela onde você tem os dados do seu contrato
TB_DETAIL = Tabela Financeira referente ao seu contrato
Vai ser algo desse tipo, dessa forma você só estará listando os contratos que estão totalmente quitados. Ou seja, não há parcelas em abertas!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)