Requête complexe avec jointures, rollup et calculs
kfran85
Messages postés3Date d'inscriptionmardi 25 août 2009StatutMembreDernière intervention 3 septembre 2009
-
2 sept. 2009 à 13:31
kfran85
Messages postés3Date d'inscriptionmardi 25 août 2009StatutMembreDernière intervention 3 septembre 2009
-
3 sept. 2009 à 18:11
Voici mon problème:
Je dois faire une requête pour calculer les commissions sur ventes de commerciaux
J'ai cette requête qui me donne bien les montants à commissionner, cumulés pour chaque agence, puis par commercial puis par type de contact :
SELECT a.ville_agence, e.nom_employe, t.titre_type_contact, d.id_agence, d.id_employe, d.id_type_contact, d.id_dossier, SUM(d.montant_ht)
FROM dossiers d
JOIN agences a ON d.id_agence=a.id_agence
JOIN employes e ON d.id_employe=e.id_employe
JOIN type_contact t ON d.id_type_contact=t.id_type_contact
WHERE d.id_statut_com=0
GROUP BY d.id_agence, d.id_employe, d.id_type_contact, d.id_dossier
WITH ROLLUP
Voici ce que cela donne.....
( en fonction du nombre de NULL sur la ligne je sais si c'est un sous-total de id_type_contact ou de id_employe ou de id_agence ou total general )
La commission sur chaque dossier est calculée pour chaque commercial :
-> son chiffre total détermine un taux de commission global taux_com
-> le taux de commission global est fonction également du type de contact d.id_type_contact et de son poste e.id_fonction
com = SUM(d.montant_ht) c-à-dire la colonne précédente * taux_com sélectionné dans la table ci-dessus en fonction du CA du commercial
si un commercial fait 25000 de CA total, il aura 2% sur ce qu'il a réalisé pour id_type_contact=10, 4% sue le chiffre pour id_type_contact=20,
plus 6% sur id_type_contact=30
Sui-je assez clair ? Ca fait 3 jours que je suis sur cette seule requête et je ne m'en sort pas. Pouvez-vous m'aider ?