Bonjour,
J'ai un petit problème avec une requête dans MySQL.
ll s'agit plutot de SQL que de mySQL, donc je préfère poster ici.
En premier voici ma requête:
En gros, pour expliquer ce je veut faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT admin_users.*, sum(admin_historique.remuneration) as somme, count(histo.ID) as paiement FROM admin_users LEFT OUTER JOIN admin_historique ON (admin_historique.id_users=admin_users.id and admin_historique.type_histo='insertion' AND admin_historique.valide_paiement='oui') LEFT OUTER JOIN admin_historique histo ON (histo.id_users = admin_users.id and histo.type_histo='paye') GROUP BY admin_users.id
J'ai deux tables, l'une admin_users et l'autres admin_historique.
Je veux en fait récupérer dans un premier temps mes utilisateurs dans la table admin_users. Grâce à mon premier left join, je récupère une somme. Tout ça fonctionne bien.
Mon problème est à mon second join. Le but est de récupérer le nbre de paiement effectué pour chaque utilisateur. Pour cela, je veux compter bêtement le nbre de retour d'où le count().
Alors, j'ai fait un test, j'ai inséré un enregistrement dans ce sens.
Quand j'exécute cette requête il devrait donc me donner 1 comme valeur de paiement pour utilisateur en question. Au lieu de ça, il me sort 140
Bref, une valeur qui ne correspond à rien...
J'ai du me planter dans ma requête mais où ?
Mercu de votre aide précieuse !
Partager