Array
(
)

consulta difícil em SQL

G1b4
   - 10 ago 2004

Meu cliente quer o seguinte: listar no grid o nome do devedor, o cpf/cnpj, a qtde de cheques sem fundo cobrados, a data da cobranca dos cheques sem fundo e a data prevista de pagamento.
Mas só vou listar aqui, as cobranças que possuem cheques sem fundo não pagos.
No grid de consulta, preciso gerar uma linha quando o cheque entra sem haver cobrança, preciso mostrar as cobrancas que ainda não quitaram os cheques e aquelas que ultrapassaram o prazo de pagamento gera-se uma nova linha pra nova cobrança. Pois ao clicar na linha, abre-se um form para inserção da cobrança que ainda não existe.
Alguém me ajuda???

Grato!


Okama
   - 10 ago 2004

Ajudo...mas passa a descrição das tabelas onde estão os dados do cliente, cheques.... quantas tabelas existem, se é a consulta que está com problemas ou o sistema de cadastro, etc...


G1b4
   - 10 ago 2004

Caro Okama, muito obrigado pela atenção...

Olha o código SQL que tentei fazer... Esse não é o definitivo... pois vou implementar aí parâmetros... Mas queria ter uma idéia de como se fazer isto. O que não estou conseguindo é gerar a linha quando a cobrança atingiu a data prevista de pagamento...
#Código


SELECT DV.DCOD, DV.DNOME, DV.DCPF, COUNT(CH.CHVALOR),
CO.COCOD, CO.CODATA, CO.CODATAPREV
FROM PORTADORES PT
INNER JOIN DEVEDORES DV
ON (PT.PCOD = DV.DCOD)
INNER JOIN CHEQUES CH
ON (CH.CHBANCO = PT.PBANCO AND CH.CHAGENCIA = PT.PAGENCIA
AND CH.CHCONTA = PT.PCC)
LEFT JOIN COBRANCAS CO
ON (CO.CODEV = PT.PCOD)
LEFT JOIN COBRANCA_CHEQUES CR
on (CH.CHBANCO = CR.CRBANCO AND CH.CHAGENCIA = CR.CRAGENCIA
AND CH.CHCONTA = CR.CRCONTA AND CHNUMERO = CR.CRNUMERO)
WHERE
PT.PTITULAR = ´S´
GROUP BY DV.DCOD, DV.DNOME, DV.DCPF, CO.COCOD, CO.CODATA, CO.CODATAPREV


Tabelas:
#Código

:arrow: TABELA DEVEDORES
DCOD*
DNOME
DCPF

:arrow: TABELA CHEQUES
CHBANCO*
CHAGENCIA*
CHCONTA* //CONTA CORRENTE
CHNUMERO* //NUMERO DO CHEQUE
CHVALOR //VALOR NOMINAL
CHSITUACAO

:arrow: TABELA PORTADORES
PBANCO*
PAGENCIA*
PCONTA*
PCOD* //CÓDIGO DO DEVEDOR
PTITULAR // TITULAR DA CONTA

:arrow: TABELA COBRANCAS
COCOD* //CODIGO DA COBRANÇA
CODATA // DATA DA COBRANCA
CODATAPREV // DATAPREVISTA DE PGTO
CODEV //CÓDIGO DO DEVEDOR

:arrow: TABELA COBRANCA_CHEQUES //OS CHEQUES DA COBRANCA
CRCOD* //CÓDIGO DA COBRANCA
CRBANCO*
CRAGENCIA*
CRCONTA*
CRNUMERO*



O asterisco que coloquei nos campos são as chaves primárias. Note que em algumas tabelas ( a maioria) possue chave primária concatenada. Omiti alguns campos porque não são necessários...

Grato!