Consulta Mysql retornando 6 registro filho por id pai
08/05/2015
0
To tentando fazer um menu de categoria e subcategoria eu queria que a consulta retornasse 6 subcategoria por categoria
ex:
Id 1 (categoria)
id 1 (subcategoria)
id 3 (subcategoria)
id 5 (subcategoria)
id 7 (subcategoria)
id 10 (subcategoria)
id 15 (subcategoria)
Id 2 (categoria)
id 2 (subcategoria)
id 4 (subcategoria)
id 8 (subcategoria)
id 20 (subcategoria)
id 30 (subcategoria)
id 40 (subcategoria)
e assim por diante, como faço essa consulta em Mysql ?
Cesar Hoffmann
Posts
08/05/2015
Randrade
Porém, se for isso:
Você precisa criar duas tabelas, onde uma será a categoria (item pai) e a outra a SubCategoria (item filho). Neste contexto, você adicionaria um campo referenciando o pai, exemplo:
Table MenuSubcategoria int Id varchar nome int MenuPaiId bool Ativo Table MenuCategoria int id varchar Nome bool Ativo
Neste caso, ao preencher o campo MenuPaiId da tabela MenuSubCategoria com o mesmo ID do MenuCategoria, você já possui uma relação, podendo fazer o select da forma que desejar.
P.S: Aconselho apenas salvar os menus em banco, caso necessite parametrizar os mesmos, ou seja, adicionar novo, ativar ou desativar, etc.
P.S²: Caso não seja essa sua dúvida, por favor, explique melhor, para que possa lhe ajudar.
08/05/2015
Cesar Hoffmann
Eu tenho um tabela categoria e um subcategoria com vário registro
Queria fazer um select que cada categoria (pai) retornasse um limit de somente 6 registro da subcategoria (filha)
ou seja meu select ia fica assim o retorno dele:
Categoria(pai) Subcategoria(filha)
informatica mouse
informatica gabinete
informatica cabo usb
informatica fonte
informatica Cooler
informatica Placa de vídeo
Game Joystick
Game jogo para PS3
Game jogo para PS2
Game jogo para x-box
Game jogo para PC
Game Cabo para PS3
tipo assim cada pai retorna somente 6 filhos!
08/05/2015
Randrade
você pode colocar um LIMIT 6; no final do código, que trará somente 6 itens.
Mas se você explicar melhor, postar para que precisa, o seu ambiente, eu posso elaborar uma resposta melhor.
26/06/2015
Gisely Santos
Em uma tabela, tenho varias colunas, inclusive a coluna 'setor'.
queria saber se tem como limitar a quantidade de registros para determinado setor.
Por exemplo...
Para o Setor BLI1 traria 3 registros.
Para o Setor BLI2 traria 3 registros.
Para o Setor BLI 3 traria 3 registros.
e assim por diante... tem como fazer isso sem precisar criar outra tabela?
Já tentei group by, limit na subconsulta, mas nada retorna o que eu preciso...
Se puderem ajudar, desde já agradeço!
26/06/2015
Randrade
Em uma tabela, tenho varias colunas, inclusive a coluna 'setor'.
queria saber se tem como limitar a quantidade de registros para determinado setor.
Por exemplo...
Para o Setor BLI1 traria 3 registros.
Para o Setor BLI2 traria 3 registros.
Para o Setor BLI 3 traria 3 registros.
e assim por diante... tem como fazer isso sem precisar criar outra tabela?
Já tentei group by, limit na subconsulta, mas nada retorna o que eu preciso...
Se puderem ajudar, desde já agradeço!
Gisely Santos, se possível, abra outro tópico, coloque o código de suas tabelas, e explique detalhadamente o que você precisa.
Utilize o SqlFiddle e crie o seu ambiente para podermos testar.
Clique aqui para fazer login e interagir na Comunidade :)