|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2003 Messages : 3 ![]() |
Ca fait plusieurs semaines que je me balade sur ce forum et j'apprends des tas de choses. Jusqu'à présent j'ai jamais eu besoin de posté car en faisant des recherches sur le forum je trouvais tout le temps une réponse à mes questions.
Cependant le temps est venu et voilà mon premier post. En faisant cette requête SELECT C.Client_ID, SUM(C.Valeur_Total) AS somme FROM Commande C Group By C.Client_ID j'obtiens pour chaque client la somme des valeurs de toutes leurs commandes effectués. J'aimerais maintenant selectioner tous les clients qui ont effectué des achats dont la valeur totale est supérieur à la moyenne des achats effectué par clients. Pour calculer la moyenne j'ai essayer plusieurs requêtes mais j'ai toujours un message d'erreur. Select avg(somme) from (SELECT C.Client_ID, SUM(C.Valeur_Total) AS somme FROM Commande C Group By C.Client_ID) J'aimerais donc savoir comment obtenir la moyenne de la colonne somme pour ensuite pour faire quelque chose du genre SELECT Client_ID FROM ( (SELECT C.Client_ID, SUM(C.Valeur_Total) AS somme FROM Commande C Group By C.Client_ID) WHERE somme >= (Select avg(somme) from (SELECT C.Client_ID, SUM(C.Valeur_Total) AS somme FROM Commande C Group By C.Client_ID)) Comme vous pouvez le voir je suis vraiment perdu et toute aide sera la bienvenue. |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : mars 2003 Messages : 3 ![]() |
Après quelques recherches et tentatives j'ai réussi à résoudre mon problème en créant une vue.
CREATE VIEW TEST (CLient_ID, Total_Achat) AS SELECT C.Cliente_ID, SUM(C.Valor_TOTAL) FROM Commande C Group By C.Client_ID Ensuite j'ai juste eu besoin de faire cette requête : Select Client_ID From TEST Where Total_Achat >= (Select AVG(Total_Achat) from TEST) Et cela fait exactement ce que je voulais. Cependant j'aimerais toute de même savoir s'il est possible d'obtenir le même résultat sans passer par la création d'une vue. |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
J'arrive un peu tard pour te répondre, tu as en effet trouvé la solution à ton probleme.
On ne peux hélas pas faire de sous select dans le FROM du select comme tu as essayé de le faire avec interbase. |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : mars 2003 Messages : 3 ![]() |
Ok merci tout de même.
C'est quand même dommage que les sous requêtes dans la clause FROM ne soient pas possible avec Interbase. Peut-être dans une prochaine version qui sait. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com