Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tatiane.InterArt

[Resolvido] Problemas com pesquisa!

Recommended Posts

Tenho três tabelas que formam minha venda:

 

Tabela 1

Orcto

 

Numero - Integer

DataOrcto - Varchar

CodCli - Varchar

Cliente - Varchar

 

Tabela 2

PagtoOrcto

 

Codigo - Integer

NumOrcto - Integer

Data - Varchar

Valor - Varchar

TipoPagto - Varchar

 

Tabela 3

ItemOrcto

 

Codigo - Integer

NumOrc - Integer

Item - Varchar

Medida - Varchar

Qtde - Integer

 

Preciso realizar uma pesquisa de Pagamentos Pendentes por Cliente e por Período, ou seja, preciso casar as informações da tabela 2 e tabela 1 e ainda mostrar os itens referente(Os Itens é fácil, mas os pendentes é q está me dando trabalho:

 

Revendo a questão, para cada Venda vários pagamentos, 1xn

 

tenho q filtrar a tabela pagamento por período, porém relacionadas a apenas um cliente, sendo q a informação do cliente está na tabela de Orçamento, tentei de várias formas e não consegui obter o resultado que preciso, lembrando que, tenho já montada a pesquisa por período que funciona perfeitamente, apenas preciso de uma ajuda para casar as duas informações.

 

Agradeço Antecipadamente!

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso você tem duas situações.

 

Se é para listar as contas a receber em aberto do cliente poderia fazer:

 

select cliente.Codigo, cliente.nome, PagtoOrcto.Data, PagtoOrcto.Valor
from cliente, Orcto, PagtoOrcto
where cliente.codigo = Orcto.CodCli and Orcto.Numero = PagtoOrcto.NumOrcto and PagtoOrcto.TipoPagto = 'N' and PagtoOrcto.Data between data1 and data2

 

Mas se quiser listar apenas o cliente e informando se este tem algo não pago, poderia fazer:

 

select cliente.Codigo, cliente.nome
from cliente where cliente.codigo in (select Orcto.CodCli
                                  from Orcto, PagtoOrcto
                                  where cliente.codigo = Orcto.CodCli and Orcto.Numero = PagtoOrcto.NumOrcto and PagtoOrcto.TipoPagto = 'N' and PagtoOrcto.Data between data1 and data2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Márcio, usei quase um pouquinho de ambas e nenhuma rsrsrsrsr vai entender, é que acabei me recordando do esquema para criar relatório mestre-detalhe, onde o resultado sempre fica certinho com o que preciso, mas as duas opções que você descreveu são ótimas e em teste ambas funcionam, valeu a dica!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.