Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Query em tabelas n para n

Galera, estou com uma dificuldade com uma query, meu problema é o seguinte:

Possuo uma tabela de produtos (com as colunas id, prod_name, prod_description, price e category), e uma tabela de categorias (com as colunas id e ctg_name), cada produto pode possuir mais de uma categoria, pra isso criei uma tabela intermediária chamada prod_category (com as colunas id, prod_id (chave estrangeira) e ctg_id(chave estrangeira)) que relaciona um produto com todas as suas categorias, minha dúvida é a seguinte, como monto uma query que me traga o prod_name, prod_description, price e o nome de todas as categorias que esse produto possui?

Desde já agradeço

2 respostas
solução!
SELECT 
tb_Produtos.id, tb_Produtos.prod_name, tb_Produtos.prod_description, tb_Produtos.price, tb_Produtos.category, tb_Categorias.ctg_name
FROM (tb_Produtos 
INNER JOIN prod_category ON tb_Produtos.id = prod_category.prod_id) INNER JOIN tb_Categorias ON prod_category.ctg_id = tb_Categorias.id;

Só um ponto de atenção pois por um produto ter mais de uma categoria, ele vai repetir para cada categoria que ele possuir. Ex.:

1 - Leite - ... - Bebidas

1 - Leite - ... - Laticínios

Fala Erick, brigadão irmão, era essa a solução mesmo, eu encontrei essa matéria aqui que explica bem certinho com um problema praticamente igual o meu: http://rberaldo.com.br/usando-campos-multivalorados/

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software