tri sur date avec des jointures

tri sur date avec des jointures - SQL/NoSQL - Programmation

Marsh Posté le 11-07-2006 à 00:14:52    

hello,
 
dites, je suis sur une requete depuis 1h et je tourne en rond  :fou:  et ma foi un ptit coup de main serait le bienvenu  :jap:  :)  
 
Voilà mon problème, avec le schéma simplifié des tables:
- USERS(user_id)
- ARTICLES (article_id,user_id,article_date,...)
- FEEDBACKS (feedback_id,article_id,feedback_date,...)
 
Comment qu'on liste les derniers articles par feedback décroissant ?!  
 
J'ai commencé avec ça... mais ça ne me renvoie pas un article_id unique, mais autant d'article_id qu'il y a de feedbacks dessus  :cry:  

Code :
  1. SELECT articles.*
  2. FROM articles
  3. LEFT JOIN feedbacks ON articles.feedback_id = feedbacks.feedback_id
  4. LEFT JOIN users ON users.user_id = articles.user_id
  5. (WHERE ...)
  6. GROUP BY feedback_id, article_id
  7. ORDER BY feedback_date DESC


 
michi  :hello:

Reply

Marsh Posté le 11-07-2006 à 00:14:52   

Reply

Marsh Posté le 11-07-2006 à 00:18:51    

logique.
 
tu veux la plus vieille date de feedback, ou la dernière ?
 
on part du principe que tu veux la dernière
 


      SELECT articles.article_id, articles.article_titre, users.user_name, max(feedbacks.feedbacks_date) lastfb
      FROM articles
      LEFT JOIN feedbacks ON articles.feedback_id = feedbacks.feedback_id
      LEFT JOIN users ON users.user_id = articles.user_id
      (WHERE ...)
      GROUP BY articles.article_id, articles.article_titre, users.user_name
      ORDER BY lastfb DESC  

Reply

Marsh Posté le 11-07-2006 à 00:33:16    

merchi je vais essayer ça  :)  
je n'avais pas pensé à max()
 
 :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed