D'accord Je vais donc abandonner le HAVING en SQL mais je préfère garder mon 1er SUM, sinon j'aurais trop de données superflues récupérées.
Je vais faire des essais et vous tient au courant Merci Le 03/08/2011 17:43, g...@vandencruche.fr a écrit : > > 1000 enregistrements maxi ? c'est rien du tout > > > > Je te conseilles de minimiser les requetes, le temps que tu va perdre > sous php sera largement recupéré par la requete simplifié > > > Le 3 août 2011 à 15:32, LeDabe <goo...@ledabe.net> a écrit : > > > Le 03/08/2011 17:19, g...@vandencruche.fr a écrit : > > > Le volume de données est il important ? > > > > il y a une table principale qui peu aller de 10 a quelques centaines de > > lignes > > jointe a une table secondaire qui rajoute quelques lignes par > > enregistrements (que je totalise justement) > > > > voici ma requete a ce jour > > > > $q=$this->createQuery("t") > > ->select("t.id, t.datedocument, t.libelle, > > t.montantNeg, t.montantPos, > > s.nomlong, s.nom, > > f.nom, f.nomlong, > > l.nom, l.nomlong, > > SUM(c.montantNeg)+SUM(c.montantPos) AS somme_ech, > > > > t.montantPos+t.montantNeg-SUM(c.montantNeg)-SUM(c.montantPos) AS solde > > ") > > ->leftJoin("t.SousFamille s") > > ->leftJoin("s.Famille f") > > ->leftJoin("t.TiersListe l") > > ->leftJoin("t.EcheancesEcriture c") > > ->orderBy("dateDocument") > > ->groupBy("id"); > > > > Je souhaite donc filtrer sur solde, qui est un champs calculé > > ainsi j'effectuais 2 fois la requetes. pour solde = 0 et solde > != 0 > > et j'avais en php plus qu'a gérer l'affichage en 2 > passes. > > > > PS: J'ai du rajouter les leftjoin a la main car sans rien toucher > > j'avais au moins 4 requêtes par lignes > > et très vite des temsp de génération de plusieurs secondes. > > les leftjoin on considérablement optimisé le temps > > J'ai rajouté par habitude la selection des champs utiles dans > le select > > > > -- > > Vous recevez ce message, car vous êtes abonné au groupe Google > Groupes Symfony-fr. > > Pour envoyer un message à ce groupe, adressez un e-mail > à symfony-fr@googlegroups.com. > > Pour vous désabonner de ce groupe, envoyez un e-mail à > l'adresse symfony-fr+unsubscr...@googlegroups.com. > > Pour plus d'options, consultez la page de ce groupe : > http://groups.google.com/group/symfony-fr?hl=fr > > > -- > Vous recevez ce message, car vous êtes abonné au groupe Google > Groupes Symfony-fr. > Pour envoyer un message à ce groupe, adressez un e-mail > à symfony-fr@googlegroups.com. > Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse > symfony-fr+unsubscr...@googlegroups.com. > Pour plus d'options, consultez la page de ce groupe : > http://groups.google.com/group/symfony-fr?hl=fr -- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Symfony-fr. Pour envoyer un message à ce groupe, adressez un e-mail à symfony-fr@googlegroups.com. Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse symfony-fr+unsubscr...@googlegroups.com. Pour plus d'options, consultez la page de ce groupe : http://groups.google.com/group/symfony-fr?hl=fr