[RESOLVIDO] Consulta em três tabelas [RESOLVIDO]

Galera,

Estou precisando criar uma consulta, onde tenho.

Tabela produto.
id
nome

Tabela empresa.
id
nome
cod_atividade

Tabela produtoEmpresa
id
cod_empresa
cod_produto
preço

Preciso pesquisar pelo nome do produto, o preço do produto, nas empresas que pertencem a atividade 1(exemplo);

Não tenho a mínima ideia.

Flw. Valeu!

Imagino eu que na tabela de produtoempresa o cod_produto e cod_empresa sejam o seus relacionamentos entre as tabelas

select prod.nome, prodemp.preco from produto prod, produtoEmpresa prodemp where prod.id = prodemp.cod_produto and prodemp.cod_empresa in (select id from empresa where cod_atividade = 1)

SELECT DISTINCT p.* FROM produtoEmpresa pe INNER JOIN Produto p ON pe.cod_Produto = p.id INNER JOIN Empresa e ON pe.cod_Empresa = e.id AND e.cod_Atividade = 1

Agora é testar o que roda mais rápido no seu banco.

Cara,
Ficou perfeito!

Valeu mesmo.

Obrigado pela dica, ViniGodoy.

Mas não rodou. Abraço.

Você viu que revisei o código ali?

Eu geralmente prefiro usar JOINs. A maior parte dos bancos tem um suporte melhor.
Outra recomendação é evitar a cláusula IN.

O código que passei faz as duas coisas. Se não rodar, posta o erro que te ajudo a corrigir.

Melhor que ter uma solução para um problema, é ter duas. :wink:

Poww cara, eu também estou preferindo JOIN no lugar de IN.

Eu nem tinha visto, rodou perfeito.
Só que está mais lento.rsrs.

0.07 sec com IN
0.10 sec com JOIN

Valeus!!!