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

Oracle Discussion :

Petite question sur les Sum et le dédoublement de colonne


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 14
    Points : 10
    Points
    10
    Par défaut Petite question sur les Sum et le dédoublement de colonne
    Bonjour,

    Voilà un peu mon problème, j'avoue ne pas vraiment savoir si c'est réalisable dans une seule requête mais ca fait un moment que je voudrais savoir ce qu'il en est !

    Imaginons une table :
    NumDossier
    NumLigne
    Montant

    pour un dossier, on a plusieurs lignes et chaque ligne un montant (positif ou négatif)

    Je voudrais faire une requête qui me donnerait par dossier la somme des montants négatifs et la somme des montants positifs des lignes appartenant au dossier.

    En gros, un tableau me donnant:
    NumDossier
    Sum(MontantNeg)
    Sum(MontantPos)

    J'espère que je me suis bien fait comprendrE.
    Est ce que c'est envisageable ou... pas du tout ?
    Merci.
    Phil.

  2. #2
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Pardon... je n'y étais pas du tout...

    je retourne me coucher...

    Sinon, si la solution avec decode ne marche pas, vous pouvez vous en sortir avec des SELECT de SELECT ?
    [/code]

  3. #3
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Points : 926
    Points
    926
    Par défaut
    Tu dois pouvoir t'en sortir avec la requête suivante (non testée) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT NumDossier, 
           Sum (decode (sign (montant), -1, montant, 0)) MontantNeg,
           Sum (decode (sign (montant), -1, 0, montant)) MontantPos 
      FROM <MA_TABLE> 
     GROUP BY NumDossier;

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Merci beaucoup rouardg
    Ca marche super !

    Phil.

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

Discussions similaires

  1. Encore une petite question sur les sockets...
    Par damien99 dans le forum MFC
    Réponses: 4
    Dernier message: 15/02/2006, 14h22
  2. Petite question sur les conventions de nommage en Java
    Par implosion dans le forum Langage
    Réponses: 7
    Dernier message: 18/01/2006, 15h54
  3. Petites question sur les onglets...
    Par jarod_bx dans le forum Access
    Réponses: 1
    Dernier message: 20/12/2005, 18h45
  4. [ATL] Petite question sur les progress bar
    Par MrMaze dans le forum MFC
    Réponses: 1
    Dernier message: 06/05/2005, 09h40
  5. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 13h49

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