Ir para conteúdo

POWERED BY:

Arquivado

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

Me Desculpa

[Resolvido] consulta para exibir um registro especifico

Recommended Posts

oi,

 

vou explicar a estrutura das tabelas primeiro...

 

tenho um tabela de produtos com os campos:

 

- id_produto, nome, descrição, situação

 

e uma tabela de imagens dos produto com os campos:

 

- id_imagem, id_produto, nome

 

fiz um relacionamento um para muitos, porque os produtos podem ter quantas imagens precisar.

 

eu precisava listar os produtos então fiz a seguinte consulta:

 

"SELECT p.*, ip.* FROM produto p, image_produto ip WHERE p.id_produto = ip.id_produto AND p.situacao = 'ativo'"

 

bom isso funciona, só que não como eu precisava.

 

quando listo os produtos eu queria exibir o produto com uma imagem só, e da maneira que fiz ele duplica o produto com cada imagem cadastrada.

 

só para entender melhor o todo do sistema, tenho a intensão de fazer a listagem como uma loja virtual faz, onde aparece o produto numa lista com uma imagem e quando clica nele vai para a página de descrição onde as outras imagens aparece em uma galeria.

 

se não fui claro por favor me avisem que tento explicar melhor e se existir algum assunto que aborda esse tema eu não sei o nome e espero não estar perguntando o obvio. obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Me Desculpa,

 

Por um grande acaso, o colega Michael.Dev teve uma dúvida muito semelhante a sua, e eu a respondi neste tópico:

 

http://forum.imasters.com.br/topic/442904-inner-join/

 

Aproveitando, só uma dica.

 

Não utilize o campo situação como varchar, pois dependendo do tamanho do seu sistema isto lhe acarretará uma grande perda de performance em consultas.

 

Ao invés do varchar, utilize um inteiro. Por exemplo: 1 significa Ativo, e -1 Inativo.

 

Espero ter lhe sido útil, abraços.

 

_ _

Fabiano Abreu

Papo Sql - Tutoriais, dicas e truques sobre SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

fabiano obrigado,

eu pensei em fazer isso que você indicou só que não quero alterar a lógica do upload que fiz... teria como fazer essa mesma tarefa com o sql apenas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me Desculpa, faça o seguinte:

 

"
SELECT p.*, ip.* 
FROM produto p, image_produto ip 
WHERE p.id_produto = ip.id_produto AND p.situacao = 'ativo'
GROUP BY p.id_produto
"

 

Veja se atende a situação que deseja, e não se esqueça de retornar apresentando o resultado.

 

Abraços.

 

_ _

Fabiano Abreu

Papo Sql - Tutoriais, dicas e truques sobre SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

fabiano deu certo! funcionou do jeito que eu precisava.

eu acho muito interessante sql além de ser muito essencial. vou procurar estudar mais sobre o assunto,

obrigado! :clap:

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.