Comme tu le dis si bien, on peut exprimer en français notre problématique
Décomposons le probléme.
1) Il nous faut calculer le total des achat (le chiffre d'affaire)
2) Puis calculer le ration Achat/Total.
3) Sérialiser les clients selon les critéres définis propres au ratio obtenu
4) Comptabiliser le nombre de client répondant à cette série.
Ouf !
1) La requête suivante répond à ce point :
SELECT Sum(Client.Achat) AS total FROM Client). AS calcul2 Pour le calcul du ratio, nous devons utiliser la table Client une premiére fois pour sélectionner els clients et une seconde pour intégrer le calcul précédent.
Tout requêteur se perdrait si nous n'utilisions pas les alias.
SELECT Client.idClient
FROM Client, (SELECT Sum(cli.Achat) AS total FROM Client AS cli). AS calcul
(cli est donc l'alias pris pour la table Client dans le calcul du total).
3) Une simple condition AND de borne inférieure et de borne supérieure suffit :
WHERE ((([Achat]/[total])>0.1 And ([Achat]/[total])<0.2));
(pour les cilents dont le ratio est compris entre 10% et 20% par exemple)
4) La fonction Count convient à cette demande :
SELECT Count(Client.idClient) AS Nb2010En final nous obtenons la requête finale suivante :
SELECT Count(Client.idClient) AS Nb2010
FROM Client, (SELECT Sum(cli.Achat) AS total FROM Client AS cli). AS calcul
WHERE ((([Achat]/[total])>0.1 And ([Achat]/[total])<0.2))
Tecman