LEFT JOIN ordonné

Résolu
steckdenis Messages postés 19 Date d'inscription samedi 2 décembre 2000 Statut Membre Dernière intervention 27 juillet 2008 - 25 juil. 2008 à 19:56
steckdenis Messages postés 19 Date d'inscription samedi 2 décembre 2000 Statut Membre Dernière intervention 27 juillet 2008 - 27 juil. 2008 à 18:02
Bonjour,

Pour créer mon forum, j'ai besoin, pour chaque sujet, de connaître l'auteur du dernier message. Pour cela, je dois trouver quel est le dernier message de chaque sujet. J'utilise donc un LEFT JOIN comme ceci :

SELECT topics.id AS id,topics.titre AS titre, topics.soustitre AS soustitre, users.pseudo AS dernier_auteur, users.id AS auteurid

FROM `topics`

LEFT JOIN post ON post.parentid=topics.id

LEFT JOIN users ON users.id=post.auteurid

Ici, post ne sert qu'à trouver le bon utilisateur. Le problème est donc le suivant : j'obtiens le premier message du sujet, et non le dernier.

Comment puis-je faire en sorte d'avoir le dernier message du sujet ?

A plus, et merci d'avance pour votre aide.

PS: Le résultat obtenu pour le moment se trouve à l'adresse : http://logram-project.org/voirforum-10.html . Vous pouvez remarquer qu'il est affiché le nom de l'utilisateur ayant créé le sujet à la place de celui ayant été le dernier à répondre.

2 réponses

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
26 juil. 2008 à 16:43
Salut,

Il te faudrait un champ date dans la table POST qui servirait de regroupement
et demander le dernier grace à cela :


SELECT max(post.date_post) as datePost,
       topics.id AS id,topics.titre AS titre, topics.soustitre AS soustitre,
       users.pseudo AS dernier_auteur, users.id AS auteurid
FROM `topics`
   LEFT JOIN post ON post.parentid=topics.id
   LEFT JOIN users ON users.id=post.auteurid 

GROUP BY topics.id, topics.titre, topics.soustitre, users.pseudo, users.id
3
steckdenis Messages postés 19 Date d'inscription samedi 2 décembre 2000 Statut Membre Dernière intervention 27 juillet 2008
27 juil. 2008 à 18:02
Bonjour,

J'ai finalement réussi à mettre en oeuvre mon forum. Merci beaucoup.

A plus.
0
Rejoignez-nous