Estou fazendo um sistema de notícias e necessito listar as categorias e as subcategorias das notícias através de uma única query mysql. (o resultado final deverá ser algo como http://lista.mercadolivre.com.br/_CategID_1499).
Pois bem, não estou conseguindo fazer um SELECT correto para gerar o resultado esperado. Está acontecendo que a página repete as categorias, vejam abaixo:
Geral
Diversas
Tecnologia
Novidades
Tecnologia
Segurança
(neste caso 'segurança' e 'novidades' deveriam estar juntos logo abaixo de 'tecnologia', e não repetindo 'tecnologia' como no exemplo).
A minha query atual é esta:
$query_catsubcatAll = sprintf("SELECT * FROM categorias_noticias INNER JOIN subcategorias_noticias ON catnot_id = subcatnot_cat WHERE catnot_idioma = %s ", $colname_catsubcatAll);
As tabelas são:
categorias_noticias
catnot_id
e
subcategorias_noticias
subcatnot_id
subcatnot_cat
Já tentei GROUP BY (agrupando os IDs) mas não obtive o resultado esperado. A mesma coisa com SELECT DISTINCT. Imagino que eu deveria fazer uma select interna filtrando as subcategorias, mas como? Meu conhecimento foi até aqui...
Pergunta
Regex
Olá a todos!
Estou fazendo um sistema de notícias e necessito listar as categorias e as subcategorias das notícias através de uma única query mysql. (o resultado final deverá ser algo como http://lista.mercadolivre.com.br/_CategID_1499).
Pois bem, não estou conseguindo fazer um SELECT correto para gerar o resultado esperado. Está acontecendo que a página repete as categorias, vejam abaixo:
Geral
Diversas
Tecnologia
Novidades
Tecnologia
Segurança
(neste caso 'segurança' e 'novidades' deveriam estar juntos logo abaixo de 'tecnologia', e não repetindo 'tecnologia' como no exemplo).
A minha query atual é esta:
As tabelas são:
categorias_noticias
catnot_id
e
subcategorias_noticias
subcatnot_id
subcatnot_cat
Já tentei GROUP BY (agrupando os IDs) mas não obtive o resultado esperado. A mesma coisa com SELECT DISTINCT. Imagino que eu deveria fazer uma select interna filtrando as subcategorias, mas como? Meu conhecimento foi até aqui...
Agradeceria se alguém pudesse me dar uma luz.
Abraços.
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados