Ir para conteúdo

POWERED BY:

Arquivado

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

Claudio Neto

[Resolvido] Relacinamento de 3 tabelas

Recommended Posts

Tenho três tabelas em meu access, sendo duas delas de dados e a terceira só para fazer o relacionamento dos dados.

 

Assim, uma de cadastro de clientes, uma de produtos e a terceira de pedidos, onde só indico o código do cliente e do produto.

 

Montei um inner join relacionando as três tabelas, mas só dá erro. O Access não suporta esse tipo de consulta?

 

A query ficou assim:

 

select clientes.nome, produtos.nome from clientes inner join pedidos on clientes.codcli = pedidos.codcli

inner join produtos on produtos.codprod = pedidos.codprod

 

 

E o erro que dá é esse:

 

Syntax error (missing operator) in query expression 'clientes.codcli = pedidos.codcli

inner join produtos on produtos.codprod = pedidos.codprod'.

 

Montei a mesma estrutura no SQL Server 2000 e funcionou, então acho que o problema é com o Access. Há algo que possa fazer para evitar o erro?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já consegui. Ficou assim:

 

SELECT CLIENTES.*, PRODUTOS.*
FROM CLIENTES, PRODUTOS
WHERE PRODUTOS.codProduto = (select codprod from os where situacao = 1) AND CLIENTES.codCliente = (select codcli from os where situacao = 1);

Compartilhar este post


Link para o post
Compartilhar em outros sites

A forma acima não funciona não. Ela só dá certo enquanto só há um registro na tabela.

 

Essa sim deu certo:

SELECT CLIENTES.*, PRODUTOS.*, os.codOS
FROM CLIENTES, PRODUTOS, OS
where clientes.codcliente = os.codcli
and produtos.codproduto = os.codprod
and os.situacao = 2;

Nossa, como ele é limitado, que horrivel.

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.