Ir ao conteúdo
  • Cadastre-se

JOIN sem repetir resultados


Posts recomendados

E aí gurizada, beleza? É o seguinte: tenho duas tabelas. Uma com anúncios e outra com usuários. Eu quero listar todos os dados do usuário com join nos anúncios que ele possui, mas as informações da tabela usuario repete tantas vezes houver dados na tabela anúncios referente ao usuário em questão. Como resolver. Quero que apareça apenas uma vez todos os dados do usuário e apareça todos os anúncios que este usuário tiver.

 

$listar = $pdo->prepare("
	SELECT DISTINCT
		usuario.nome,
		usuario.telefone,
		usuario.email,
		usuario.data_cadastro,
		anuncio.id_anuncio,
		anuncio.titulo,
		anuncio.nome_categoria
	FROM usuario LEFT JOIN anuncio on usuario.id_user = anuncio.id_user
	WHERE usuario.id_user = ? 
	GROUP BY 
		anuncio.id_anuncio, 
		anuncio.titulo
	ORDER BY anuncio.id_anuncio");

$listar->bindValue(1, $usuario, PDO::PARAM_INT);
$listar->execute();

 

Link para o comentário
Compartilhar em outros sites

@Felipe Paz Usando um pouco de lógica, você pode perceber que está usando um banco relacional e não orientado a objetos, logo, você terá como retorno uma linha com os dados relacionados entre-si.

 

usuario 1 - anuncio 1

usuario 1 - anuncio 2

 

Se você quer algo como um objeto, um usuário e acessar seus anúncios você tem 2 opções. Tratar em 2 selects ou converter registro a registro para objeto.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...