Aller au contenu

Sujets conseillés

Posté

Hello

J'ai un comportement étrange sur la requête suivante :

SELECT id_compte, date_commande, auto_commande, mode_paiement, SUM( montant_fp ) FROM commandes
WHERE 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

Posté

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à.

Posté

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_paiement
Having auto_commande IN ( 3495, 3494, 3493 )
ORDER BY auto_commande

Posté

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: :rolleyes:

Merci

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...