Requête SQL "défaillante"

Petit nouveau ! | 1 Messages

01 févr. 2009, 19:29

Bonjour,

je fais une requête qui marche plus ou moins bien
plus pour "elle fait ce que je lui demande"
moins pour "à un détail près"

la voici :

Code : Tout sélectionner

SELECT co.source, co.IQ, co.techno, count( iterations ) nb_iterations FROM activite AS ac RIGHT OUTER JOIN correspondance AS co ON co.IQ = ac.IQ AND co.source = ac.source AND ac.retard = '00:00:00' AND ac.date_envoi >= STR_TO_DATE('".addslashes($periode_debut)."', '%d/%m/%Y') AND ac.date_envoi <= STR_TO_DATE('".addslashes($periode_fin)."', '%d/%m/%Y') GROUP BY co.source, co.IQ ORDER BY co.source, co.IQ
mon "count" me fait l'addition des résultats trouvés mais pas l'addition de la valeur "iterations"
Exemple :

Pour 3 entrées à 7, 12 et 27 itérations, j'obtiens un résultat de :
1 ligne correspondant à la dite entrée avec 3 itérations au lieu de 42 attendues.

Si quelqu'un avait une idée d'où peut provenir mon erreur, je lui en serait très reconnaissant.

Par avance merci de votre aide.
A bientôt.

Boueep

edit : problème résolu ....

Il m'aura fallut faire un SUM plutôt qu'un COUNT.
Si ça peut servir à quelqu'un

Voici ce que ça donne :

Code : Tout sélectionner

SELECT co.source, co.IQ, co.techno, SUM( iterations ) nb_iterations FROM activite AS ac RIGHT OUTER JOIN correspondance AS co ON co.IQ = ac.IQ AND co.source = ac.source AND ac.retard <> '00:00:00' AND ac.date_envoi >= STR_TO_DATE('".addslashes($periode_debut)."', '%d/%m/%Y') AND ac.date_envoi <= STR_TO_DATE('".addslashes($periode_fin)."', '%d/%m/%Y') GROUP BY co.source, co.IQ ORDER BY co.source, co.IQ
Bien à vous.
Boueep