Bonjour,
Je cherche depuis un bon moment comment faire une requête.
Voici l'énoncé de mon problème :
J'ai 2 tables qui se présentent comme suit :
Table des objectifs :
nego_id | agence_id | objectif
1 1 52000
2 1 48560
3 1 24561
4 2 49787
5 2 45211
6 3 56988
...
Table des transactions :
tra_nego_id | tra_agence_id | tra_honoraires1 | tra_honoraires2 | tra_honoraires3 | tra_honoraires4
1 1 1240 2458 3254 1548
2 1 4896 7854 2584 7985
3 1 1231 4567 7899 1569
4 2 1548 7896 4521 7965
5 2 2548 7895 1468 4684
6 3 4521 7845 5456 7458
...
Dans un premier temps je voulais ressortir un résultat comme suit :
nego_id | objectif | somme_honoraires
1 52000 8500
...
J'ai donc fait une requête qui se présente comme suit (pour l'agence 1) :
1 2 3 4 5 6 7 8 9 10 11 12
| SELECT O.nego_id, objectif
,SUM(T1.tra_honoraires1) AS 'somme 1'
,SUM(T2.tra_honoraires2) AS 'somme 2'
,SUM(T3.tra_honoraires3) AS 'somme 3'
,SUM(T4.tra_honoraires4) AS 'somme 4'
FROM Objectifs O
LEFT JOIN Transactions T1 ON O.nego_id = T1.tra_honoraires1
LEFT JOIN Transactions T2 ON O.nego_id = T2.tra_honoraires2
LEFT JOIN Transactions T3 ON O.nego_id = T3.tra_honoraires3
LEFT JOIN Transactions T4 ON O.nego_id = T4.tra_honoraires4
WHERE O.agence_id = 1
GROUP BY O.nego_id, O.objectif |
Puis j’additionne en php les honoraires de chaque négociateur pour avoir le résultat voulu.
Première question : Comment avoir le résultat directement à la sortie de la requête, autrement dit : Comment faire la somme des sommes par nego dans la requête ? (j'ai bien tenté de faire un SUM des SUMs mais ça n'a pas l'air de fonctionner)
Deuxième question : Comment obtenir le même résultat par agence ? :
agence_id | objectif | somme_honoraires
1 125121 47085
...
Merci de votre aide.
Partager