Tri sur 2 tables pas si simple...
diice
Messages postés
131
Date d'inscription
Statut
Membre
Dernière intervention
-
diice Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
diice Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Bonjour à tous,
J'ai un souci sur un tri sur 2 tables.
j'ai effectué des join et en ca je n'ai pas trop de probleme.
le souci c'est que pour le tri, je suis obligé de faire un calcul dans ma requete sql, et c'est là que ca peche...
je m'explique, j'ai une table de "lieux" avec id, nom etc...
et une table Notes avec id, id_lieu, note1, note2, note3, note4, note5 (hé oui, il y a 5 criteres de notes).
du coup j'ai besoin dans mon tri de faire une moyenne sur le nombre total de vote (tous criteres confondu) par rapport aux avis (avis=5notes) total...
je sais pas si c'est tres clair... en fait j'aimerai classé mes lieu par notes, mais ne pas privilégié ceux qui ont été noté le plus de fois, mais par rapport à une note moyenne globale...
j'ai essayé avec plusieurs solutions mais sans resultats... (je remplace tous mes champs par *dans le select pour alléger le code...)
et la, ca ne me donne rien de bon, soit il me ramene 2 fois le meme lieu (d'ou le group by), mais le group by... il aime pas...
bref, je ne sais absolument pas comment m'en sortir !!
merci d'avance si vous aviez une idée ;)
bonne journée et bon weekend a vous en attendant !
Bonjour à tous,
J'ai un souci sur un tri sur 2 tables.
j'ai effectué des join et en ca je n'ai pas trop de probleme.
le souci c'est que pour le tri, je suis obligé de faire un calcul dans ma requete sql, et c'est là que ca peche...
je m'explique, j'ai une table de "lieux" avec id, nom etc...
et une table Notes avec id, id_lieu, note1, note2, note3, note4, note5 (hé oui, il y a 5 criteres de notes).
du coup j'ai besoin dans mon tri de faire une moyenne sur le nombre total de vote (tous criteres confondu) par rapport aux avis (avis=5notes) total...
je sais pas si c'est tres clair... en fait j'aimerai classé mes lieu par notes, mais ne pas privilégié ceux qui ont été noté le plus de fois, mais par rapport à une note moyenne globale...
j'ai essayé avec plusieurs solutions mais sans resultats... (je remplace tous mes champs par *dans le select pour alléger le code...)
SELECT *, (SELECT count(1) FROM ".$TB_NoteCom." C WHERE C.id_lieu=L.id) AS TotalVotes, (SELECT AVG(N.note_critere1+N.note_critere2+N.note_critere3+N.note_critere4+N.note_critere5)/TotalVotes) AS NoteTotale FROM TableLieux L LEFT JOIN TableNotes N ON N.id_lieu=L.id GROUP BY N.id_lieu ORDER BY NoteTotale DESC
et la, ca ne me donne rien de bon, soit il me ramene 2 fois le meme lieu (d'ou le group by), mais le group by... il aime pas...
bref, je ne sais absolument pas comment m'en sortir !!
merci d'avance si vous aviez une idée ;)
bonne journée et bon weekend a vous en attendant !
A voir également:
- Tri sur 2 tables pas si simple...
- Supercopier 2 - Télécharger - Gestion de fichiers
- Comment faire un tri personnalisé sur excel - Guide
- Iphone 14 simple - Guide
- Logiciel tri photo - Guide
- Tables des matières word - Guide