Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Depieri Barduchi

[Resolvido] Selecionar registros sem duplicar

Recommended Posts

Fala galera beleza?

pra variar preciso da ajuda de vcs

vamos lá

tenho um sistema em php/mysql que faz um botão que lista todas as categorias que tem alguma notícia cadastrada, assim o usuário não fará a chamada "busca burra", que seria buscar categorias sem registros, porém quando faço o meu select com inner join ele busca todas as categorias e seus respectivos registro como desejado, porém surgiu um pequeno problema, se existir 5 notícias daquela categoria ele apresentará 5x a mesma categoria, como faço para que apareça apenas uma categoria.

 

Segue o select:

 

$sql_seleciona_plano_sql = "
SELECT 
*
FROM
"._TABELA_NOTICIA_."	
INNER JOIN 
"._TABELA_CATEGORIA_."	 
ON 
"._TABELA_NOTICIA_.".categoria_noticia = "._TABELA_CATEGORIA_.".id_categoria
";

 

O resultado:

 

Categoria1

Categoria1

Categoria3

Categoria3

Categoria3

Categoria3

Categoria8

Categoria8

Categoria8

Categoria10

Categoria19

Categoria32

 

Vlw e aguardo a ajuda http://forum.imasters.com.br/public/style_emoticons/default/natal_wink.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize a propriedade DISTINCT:

 

$sql_seleciona_plano_sql = "
SELECT DISTINCT
*
FROM
"._TABELA_NOTICIA_."    
INNER JOIN 
"._TABELA_CATEGORIA_."   
ON 
"._TABELA_NOTICIA_.".categoria_noticia = "._TABELA_CATEGORIA_.".id_categoria
";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno,

 

Você esta selecionando todos os campos, DISTINCT ira produzir resultados duplicados para categorias que tenham noticias diferentes. Se você checar sua tabela noticias, verá que provávelmente há 2 notícias da categoria1, 5 da categoria3... assim como o resultado acima.

 

Você terá que usar GROUP BY, para obter apenas uma categoria de cada.

 

$sql_seleciona_plano_sql = "
SELECT 
*
FROM
"._TABELA_NOTICIA_."    
INNER JOIN 
"._TABELA_CATEGORIA_."   
ON 
"._TABELA_NOTICIA_.".categoria_noticia = "._TABELA_CATEGORIA_.".id_categoria
GROUP BY categoria";

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.