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 Oracle Discussion :

Requête SQL dont les colonnes du select sont générées à partir d'autre requête


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 99
    Points : 59
    Points
    59
    Par défaut Requête SQL dont les colonnes du select sont générées à partir d'autre requête
    salut tout le monde. voici une requête Sql:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT  DIRECTION, SUM MONTANT , (SELECT SUM(Montant) FROM MEHDI.AVANCE WHERE ETATAVCE='A') AS MONTANT2 FROM MEHDI.AVANCE WHERE ETATAVCE='R' GROUP BY DIRECTION  ;
    La table AVANCE contient plusieurs champs mais avec cette requête je n'aurai besoin que de :
    -DIRECTION
    -MONTANT
    -ETATAVCE: l'etat de l'avance; elle prend comme valeur soit "R":refusé soit "A" Accepté

    je voudrai savoir pour chaque direction le montant Accordé et le Montant Refusé. Exple:
    DIRECTION MONTANTACCORDE MONTANT REFUSE
    INFO 650 300
    DCRH 700 200


    Avec cette requête j'obtiens la direction, le montant refusé pour chaque direction mais le montant accordé se génère à partir de toutes les avances refusés de toutes les directions et quand je mets un "group by" dans les parenthèses (erreur-01427)

    S'il vous plaît je suis bloqué de pis hier et je ne peux plus avancer. Merci d'avance

  2. #2
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Points : 1 197
    Points
    1 197
    Par défaut
    Salut,

    Essaie cette requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    SQL> SELECT * FROM AVANCE ORDER BY DIRECTION,ETATAVCE;
     
    DIRECTION                                             MONTANT E
    -------------------------------------------------- ---------- -
    DCRH                                                      500 A
    DCRH                                                      500 A
    DCRH                                                      800 R
    DCRH                                                      800 R
    FFFF                                                      100 A
    INFO                                                      500 A
    INFO                                                      800 A
    INFO                                                      200 A
    INFO                                                      150 R
    INFO                                                      200 R
    INFO                                                      350 R
     
    11 rows selected.
     
    SQL>
     
     
    SQL> SELECT   NVL( A.DIRECTION,R.DIRECTION) 
    DIRECTION,A.MONTANT_ACC,R.MONTANT_REF
      2     FROM 
      3     (SELECT  DIRECTION ,SUM(MONTANT) MONTANT_ACC  
      4         FROM AVANCE WHERE ETATAVCE='A' GROUP BY DIRECTION )A 
    FULL OUTER JOIN  
      5     (SELECT  DIRECTION ,SUM(MONTANT) MONTANT_REF  
      6         FROM AVANCE WHERE ETATAVCE='R' GROUP BY DIRECTION )R
      7    ON A.DIRECTION=R.DIRECTION;
     
    DIRECTION                                          MONTANT_ACC MONTANT_REF
    -------------------------------------------------- ----------- -----------
    DCRH                                                      1000        1600
    INFO                                                      1500         700
    FFFF                                                       100
     
    SQL>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 99
    Points : 59
    Points
    59
    Par défaut
    salut Salim merci beaucouuuuuup pour la requête, elle fonctionne correctement sur Oracle. maiiiis , j'ai eu un autre problème lorsque je mets cette requête dans VB.net et je l'exécute pour charger mon DataGrid il y a une erreur!!. ORA-00911:caractère non valide et je sais pas pourquoi malgré que la même requête fonctionne sur Sql+

  4. #4
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 357
    Points : 280
    Points
    280
    Par défaut
    il ne faut pas mettre de ; sous .net

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 99
    Points : 59
    Points
    59
    Par défaut
    oui. Merci beaucoup. maintenant ça fonctionne

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/11/2014, 16h12
  2. Requête SQL : Afficher les colonnes en ligne, et vice versa
    Par paflolo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 17/03/2009, 09h16
  3. Récupérer les valeurs d'une requête SQL dans un champs html SELECT
    Par tamiii dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/11/2007, 13h27
  4. Réponses: 2
    Dernier message: 13/04/2007, 07h09
  5. Requêtes SQL pour les Dates et numériques
    Par Ramage03 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/03/2006, 17h26

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