IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Firebird Discussion :

Moyenne des résultats obtenus par une sous requête


Sujet :

SQL Firebird

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Moyenne des résultats obtenus par une sous requête
    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.

  2. #2
    Candidat au Club
    Inscrit en
    Mars 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    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.

  3. #3
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    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.

  4. #4
    Candidat au Club
    Inscrit en
    Mars 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/07/2009, 10h06
  2. Réponses: 7
    Dernier message: 19/03/2008, 10h35
  3. Réponses: 2
    Dernier message: 31/05/2007, 10h57
  4. Affichage des images générées par une application sous tomcat
    Par don'de dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 09/01/2007, 11h24
  5. Résultat requête lié à une sous requête
    Par BARKI dans le forum Langage SQL
    Réponses: 1
    Dernier message: 30/06/2006, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo