Ir para conteúdo

Arquivado

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

lollipop

Pegar UMA dentro de várias fotos para CADA evento

Recommended Posts

Tabela de eventos

tb_eventos

| cod_evento | nome |....outras colunas

 

Tabela das fotos de eventos

tb_fotos_eventos

| cod_foto (PK) | cod_evento | linkFoto | ...outras colunas

 

Objetivo:

Preciso pegar apenas UMA foto referente a CADA evento, ordenado por tb_eventos.nome DESC e com limite de 5 eventos.

 

É simples, mas não estou conseguindo. Obrigado

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

se eu entendi bem,

select * from tb_fotos_eventos group by cod_evento

obs: acerte aí os "limit" (q será 5) e os "order by" no momento estou meio na correria e fico devendo qual vai 1º, não repare...

mas qqer coisa retorne

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem, só melhorando a explicação: utilize group by;

obs: "limit" sempre por último.

exemplos:

select * from tb_fotos_eventos join tb_eventos
on tb_eventos.cod_evento=tb_fotos_eventos.cod_evento
group by tb_eventos.cod_evento
order by nome limit 5;

ou

select * from tb_fotos_eventos, tb_eventos
on tb_eventos.cod_evento=tb_fotos_eventos.cod_evento
group by tb_eventos.cod_evento
order by nome limit 5;

ou ainda

select * from tb_fotos_eventos, tb_eventos
where tb_eventos.cod_evento=tb_fotos_eventos.cod_evento
group by tb_eventos.cod_evento
order by nome limit 5;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resultado:

SELECT te.cod_evento, tfe.nome_miniatura 
FROM tb_fotos_eventos AS tfe, tb_eventos AS te
WHERE te.cod_evento = tfe.cod_evento
GROUP BY te.cod_evento
ORDER BY te.cod_evento DESC 
LIMIT 0 , 5

Muito obrigado amigo, esqueci da existência do GROUP BY kkk SQL simples e eficiente.

Muito obrigado meeesmo

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.