Nguyen.b
Messages postés7Date d'inscriptionlundi 7 novembre 2016StatutMembreDernière intervention24 avril 2017
-
24 avril 2017 à 23:24
Maestro04
Messages postés10Date d'inscriptionvendredi 7 juillet 2017StatutMembreDernière intervention 9 juillet 2017
-
7 juil. 2017 à 14:15
Bonjour,
Pour un projet, j'ai une requête suivante à faire: Le client le plus rentable pour chaque publication de journal.
Pour le résultat ,j'aimerais que ce soit :
Nom publication, nom client, prénom client, la somme argent qu'il a dépensé
Pour cela j'ai fait :
NomPU : nom publication
NomC : Nom client
le sum marche très bien , c'est pour calculer le total dépense d'un client
SELECT tab1.NomPU, tab1.NomC, tab1.PrenomC, tab1.NomV max(tab1.[total_depense])
FROM (SELECT pu.NomPU,cl.NomC, cl.PrenomC, v.NomV ,sum(ab.Nbnum*ab.PrixNumAb) as [total_depense]
FROM Publication pu, Client cl, Abonner ab, Ville v
WHERE ab.CodeC=cl.CodeC
AND ab.CodePU=pu.CodePU
AND cl.CodeV=v.CodeV
GROUP BY pu.NomPU,cl.NomC, cl.PrenomC, v.NomV) AS tab1;
ça me sort pour chaque publication , tous les clients et leurs dépenses mais je voudrais seulement le client le plus rentable.
J'ai remarqué cela marche seulement si j'enleve le NomC et PrenomC du GROUP BY mais dans ce cas , je n'aurai pas d'information sur le client.
Pourriez vous m'aider en me donnant une façon de faire svp ?
Merci !
A voir également:
Chaque expression group by doit contenir au moins une colonne qui n'est pas une référence externe.