Bonjour,
je fais appelle à vous car je suis galère depuis 1h sur une requête qui je pense est simple mais bizarrement je bloque dessus.
J'ai trois tables comme suis (simplifiée):
sujets
id
nom
messages
id_sujet
date
id_membre
texte
membres
id
pseudo
Ce que je cherche à faire est la chose suivante :
Lister les différents sujets du forum, indiquer le nombre de message pour chaque sujet et indiquer le dernier membre qui a écrit dans ce sujet.
Pour ce qui est du nom du sujet et du nombre de message pas de soucis
N'arrivant pas à sortir également le dernier membre inscrits j'ai fais une deuxième requête (je suis dans une boucle PHP)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT s.nom, s.id, COUNT(m.id) as nbMessage FROM sujets s LEFT JOIN messages m ON m.id_sujet=s.id GROUP BY s.id ORDER BY s.nom ASC
Le tout fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT m.pseudo FROM messages mess LEFT JOIN membres m ON m.id=mess.id_membre WHERE mess.id=(SELECT MAX(id) FROM messages WHERE sujet='".$id."')
mais comme j'ai plusieurs dizaines de sujets ça me fait pas mal de requête
J'aimerais donc tout mixer en 1 requête mais seulement je tourne en rond
Merci de votre aide
Partager