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

Langage SQL Discussion :

Problème somme dynamique


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Points : 24
    Points
    24
    Par défaut Problème somme dynamique
    Bonjour,
    J'ai une table dans ma BD qui comprends plusieurs attributs parmis lequels soldf, pmp et val_c qui sont tous trois des nombres.
    J'ai une requete SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT pmp,soldf, (pmp*soldf) RES, SUM(RES) FROM PVMCA WHERE id=4
    qui ne marche pas...
    en fait cela marche si j'enlève de SUM(RES); après avoir dynamiquement calculé le produit des deux colonnes pour chaque linge, je souhaiterais calculer la somme des produits....saver vous si il est possible de le faire ?et quelle en serait la syntaxe ?

    merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Points : 146
    Points
    146
    Par défaut
    Seulement ajouter une clause GROUP BY pour tout les champs qui ne sont pas des fonctions d'agrégat reglera votre problème (si j'ai bien compris)

    Donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT pmp, soldf, (pmp*soldf) AS RES, SUM(RES) FROM PVMCA WHERE id=4
    GROUP BY pmp, soldf, RES

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    C'est ce que j'avais pensé aussi mais j'ai une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-OO904: "RES":invalid identifier
    ...
    encore une fois si j'enlève le sum(RES) et le group by tout fonctionne...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Points : 146
    Points
    146
    Par défaut
    Je ne connais pas beaucoup Oracle mais avec un alias habituellement on retrouve le mot clef AS devant

    Ex: Champ1 AS RES

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    j'ai bien sur essayé avec AS et sans le alias avant de poster que cela ne marche pas...je cherche sur le net mais je ne trouve pas beaucoup d'aides. Il y a surement une syntaxe qui m'échappe en SQL...en tout cas merci de ton aide.

    D'autres idées ??

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Points : 146
    Points
    146
    Par défaut
    L'erreur retourné par oracle est votre alias.

    Mais bon

    Vous pouvez toujours Essayé celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT pmp, soldf, (pmp*soldf), SUM(pmp * solf) FROM PVMCA WHERE id=4
    GROUP BY pmp, soldf

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    oui en effet, comme ça c'est ok!!merci beaucoup!
    Par contre je ne sais toujours pas pourquoi cet alias RES ne fonctionnait pas...je vais m'y attacher!

    encore merci

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

Discussions similaires

  1. problème de dynamique
    Par tralloc dans le forum ASP.NET
    Réponses: 6
    Dernier message: 15/02/2007, 13h17
  2. Réponses: 2
    Dernier message: 14/12/2006, 07h54
  3. [Oracle 9] Problème SQL dynamique
    Par Dadou74 dans le forum Oracle
    Réponses: 8
    Dernier message: 19/09/2006, 16h45
  4. probléme pages dynamiques
    Par nawal59 dans le forum ASP
    Réponses: 6
    Dernier message: 06/07/2006, 23h37
  5. Réponses: 3
    Dernier message: 23/05/2006, 15h09

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