iNCiTE Web Posté 31 Août 2009 Partager Posté 31 Août 2009 Hello J'ai un comportement étrange sur la requête suivante : SELECT id_compte, date_commande, auto_commande, mode_paiement, SUM( montant_fp ) FROM commandesWHERE auto_commande IN ( 3495, 3494, 3493 ) ORDER BY auto_commande Donc ça devrait renvoyer 3 enregistrements, mais si le champ montant_fp du SUM est à 0, il n'en renvoie que le dernier enregistrement ! Une idée ? Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 31 Août 2009 Partager Posté 31 Août 2009 Bonjour, Tu utilises un SUM sans group by?? Portekoi Lien vers le commentaire Partager sur d’autres sites More sharing options...
SStephane Posté 31 Août 2009 Partager Posté 31 Août 2009 Hello, C'est étrange ton utilisation de SUM, en général, il faut soit une jointure, soit un group by, soit qu'il n'y ait pas présence d'autres colonnes en dehors du calcul d'agrégations. Pour moi ton problème vient surement de là. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 31 Août 2009 Partager Posté 31 Août 2009 Essaie ceci : SELECT id_compte, date_commande, auto_commande, mode_paiement, SUM( montant_fp ) FROM commandes group by id_compte, date_commande, auto_commande, mode_paiementHaving auto_commande IN ( 3495, 3494, 3493 ) ORDER BY auto_commande Lien vers le commentaire Partager sur d’autres sites More sharing options...
iNCiTE Web Posté 31 Août 2009 Auteur Partager Posté 31 Août 2009 Quel biquette ! Désolé de vous avoir dérangés... Il me semble que pour certaines agrégations (DISTINCT) MySQL produisait un message d'erreur, du coup je cherchais pas par là :rolleyes: Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
iNCiTE Web Posté 31 Août 2009 Auteur Partager Posté 31 Août 2009 Ah pardon j'ai posté avant de voir ta réponse, le GROUP_BY aavit bien sûr corrigé mon erreur ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant