|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() |
Bonjour tout le monde,
J'aurais besoin de vos précieux conseils pour optimiser une requête que j'ai fait mais qui est bien trop lourde. Voici ma requête : Code :
J'ai deux tables. Entreprises et Avis La première table, j'ai dedans id_entreprise, nom_entreprise, ville_entreprise La seconde table, j'ai dedans id_avis, id_entreprise, dt_avis (date de l'avis) Le but de la requête, c'est d'afficher les avis les plus récent (dt_avis desc) selon la ville dans Entreprises en groupant les id_entreprise de Entreprises identiques. Merci de votre aide !!!
__________________
Vincent Pieplu Développeur Site Internet |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 709 ![]() |
Salut
En faisant comme ceci : Code sql :
Est-ce volontaire ? Théoriquement, en faisant une jointure naturelle telle que JOIN, ça devrait grouper les id_entreprises de manière naturelle. Il resterait donc juste à faire un trie. J'ai peut être pas tout compris ceci dit.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() |
Yes, pas mal, reste plus qu'à grouper les E.id_entreprise
Merci
__________________
Vincent Pieplu Développeur Site Internet |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 709 ![]() |
Citation:
En rajoutant un GROUP BY E.id_entreprise, ça donne quoi ? Ce ne serait pas un tri sur E.id_entreprise et dt_avis que tu souhaiterais par hasard ?
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() |
Pourtant j'ai bien plusieurs fois le meme id_entreprise qui ressort
__________________
Vincent Pieplu Développeur Site Internet |
|
|
00
|
|
|
#6 | |||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 709 ![]() |
Citation:
![]() La requête d'ailleurs me semblerais plus logique comme ceci : Code :
On obiendra bien une liste d'avis, donc potentiellement plusieurs id_entreprises s'il y a plusieurs avis pour 1 entreprise. Mais j'ai corrigé mon post plus entre temps, et la question que je me pose serait s'il te faut la liste de tous les avis ou pas ? - S'il te faut cette liste des avis, qu'il y ait 1 seul ou plusieurs par entreprise, il ne sera pas possible de faire un regroupement, dans ce cas là il vaut mieux le faire en Php. C'est bien souvent un soucis de présentation. Sinon il faut faire ça en 2 requêtes imbriquées. Une 1ère qui récupère les entreprises, une 2ème imbriquée pour rechercher les différents avis. - S'il te faut juste par exemple 1 seul avis par entreprise, ou par exemple le nombre d'avis par entreprise, là un regroupent sera possible. Si tu fais un regroupement sur les entreprise, on obtiendra justement qu'une seule entreprise, et du coup aussi 1 seul avis, et c'est théoriquement le 1er qui sera récupéré. Sinon, la question que je posais dernièrement c'est si ce n'était pas un tri sur E.id_entreprise et dt_avis que tu souhaiterais. Tout ce ci sauf erreur.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|||
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() |
Merci pour ton implication et ton travail sur mon sujet !!
![]() bon WE
__________________
Vincent Pieplu Développeur Site Internet |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com