Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou querendo fazer uma função e não tenho ideia por onde começar a fazer , já procurei artigos relacionados é não acho nada , por tanto estou pedindo a dos Sr (a) novamente.
Estou usando relaciomento entre duas tabelas uma para a noticia e a outra para comentários.
o queria fazer seria igual a um fórum ao comentar noticia X ele apareça com em top 1 na lista é ao comentar noticia Y ele aparecer em top 1 e rabaixando a noticia X para top 2 e assim sucessivamente.
Eu vou ter que atualizar a ID ?
Poderia citar um exemplo ?
SELECT n.* FROM noticias n
INNER JOIN comnetarios c
ON n.id = c.noticias_id
WHERE c.id = (SELECT MAX(id) FROM comentarios WHERE noticias_id = n.id)
ORDER BY c.id DESC
Tenta algo assim.
Muito obrigado pela a respota rápida.
O código está listando apenas as noticias já comentadas se não estiver comentada ele não lista , e também ao comentário a noticias que está em TOP 2 ele não sofre a aleteração para o TOP 1.
Tenta com o LEFT JOIN ou RIGTH JOIN...
Por que você não faz diferente, cria um campo DATETIME na tabela noticia e sempre que alguém postar um comentário você atualiza este campo...aí é só ordenar por este campo DATETIME da noticia.
você faz um join na tabela comentarios pegando o ultimo comentario e ordena pelo id do comentario.