Tri sur 2 tables avec 2 classements dont 1 sum()

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Tri sur 2 tables avec 2 classements dont 1 sum()

par Dux » 22 oct. 2006, 20:00

J'ai avancé un peu:

Code : Tout sélectionner

SELECT *, ressource.id FROM ressource JOIN commentaire ON commentaire.ressource = ressource.id WHERE commentaire.note != 9 GROUP BY ressource.id ORDER BY ressource.note DESC, sum(commentaire.note) DESC
il y a encore un petit problème car si commentaire.note = 9, il n'y aura pas de résultat alors que 9 correspondrait à "aucune note" donc il faudrait qu'ils soient retournés à la fin

Tri sur 2 tables avec 2 classements dont 1 sum()

par Dux » 22 oct. 2006, 18:25

bonjour,

j'ai un petit problème de syntaxe pour un tri sur 2 tables:

---------------------------------------
TABLE: ressource
CHAMPS: id , note [decimal 0.0 à 5.0]

TABLE: commentaire
CHAMPS: ressource [relatif à 1 ressource.id] , note [int 0 - 5 ou 9]

La note de commentaire peut être compris entre 0 et 5 inclus ou valoir 9 (qui désigne une autre fonction donc à exclure des tris par note)
---------------------------------------

L'objectif est de récupérer les champs * de ressource en triant dans l'ordre:
1) par ressource.note
2) puis par total commentaire.note WHERE commentaire.ressource = ressource.id

Pour l'instant mon code erroné et incomplet car je n'ai pas de calcul sum() des commentaire.note:

Code : Tout sélectionner

SELECT * FROM ressource JOIN commentaire ON commentaire.ressource = ressource.id WHERE commentaire.note != 9 ORDER BY ressource.note , commentaire.note DESC LIMIT 40
Quelqu'un aurait il une suggestion?