Bonjour à tous,
J'essaye de faire une requête me permettant de pouvoir récupérer tout les sujets de mon forum, ainsi que la dernière réponse associer.
j'en suis la:
le soucis c'est de récupérer le dernier message: JOIN ON (xxxx ORDER BY xxx LIMIT 1) ne fonctionne pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 SELECT SQL_CACHE f.ForumPostID, f.Title, f.Date, f.Reco, f.UserID, u.Login, e.Name, e.Path, fr.date as LastReplyDate, fr.UserID as LastReplyUserID, ur.Login as LastReplyLogin, count(ff.ForumPostID) as nbReply, sum(ff.Reco) as nbRecosReply FROM ForumPost as f INNER JOIN User u ON u.UserID = f.UserID LEFT OUTER JOIN ForumPost ff ON ff.ParentPostID = f.ForumPostID LEFT OUTER JOIN EnumType e ON e.TypeID = f.TypeID LEFT OUTER JOIN ForumPost fr ON (fr.ParentPostID = f.ForumPostID LIMIT 1) LEFT OUTER JOIN User ur on ur.UserID = fr.UserID WHERE f.ParentPostID IS NULL AND f.IsActive = 1 GROUP BY f.ForumPostID ORDER BY f.Date DESC;
mais si je fais ça:
cela me retourne toutes les réponse de mon topic, alors que seul la dernière m'interesse...
Code : Sélectionner tout - Visualiser dans une fenêtre à part LEFT OUTER JOIN ForumPost fr ON (fr.ParentPostID = f.ForumPostID)
Etant donné que je recupere déja le nombre de réponse (count(ff.ForumPostID) as nbReply,) y'aurai il possibilité de récuperer les infos de la dernière ?
En une seule requete car c'est pour créer des procédure stoquée MySQL.
Merci Bien![]()
Partager