Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho as seguintes tabelas
Tabela categorias:
id - nome - id_categoria
-----------------------------------
1 - Velas - 0
2 - Decoração - 0
3 - Bisqui - 2
4 - Aranjos - 0
5 - Caixas - 2
6 - Brindes - 2
Tabela produtos:
id - nome - id_categoria
------------------------------
1 - Produto 1 - 2
2 - Produto 2 - 5
3 - Produto 3 - 6
4 - Produto 4 - 4
5 - Produto 5 - 1
6 - Produto 6 - 1
Categorias ( 5 e 6 ) são filhas da categoria 2
Como selecionar os produtos da categoria (2 - Decoração) e de suas filhas( 5 e 6)?
flws...
Normalmente quando tenho esse tipo de herança, eu trago todos os valores que faço um tratamento na linguagem de programação para agrupar como eu queira.
Mas em todo caso, você pode fazer:
SELECT p.* FROM produtos p JOIN categorias c ON c.id=p.id_categoria WHERE c.id=1 OR c.id_categoria=1
Um problema pode ser até que ponto estas subcategorias podem "descer" que me conste MySql não implementa uma consulta hierarquica como Oracle (Connect By) ou SqLServer.