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 :

Requête imbriquée sur une même table


Sujet :

Oracle

  1. #1
    Candidat au Club
    Homme Profil pro
    débutant
    Inscrit en
    Avril 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : débutant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Requête imbriquée sur une même table
    Bonjour à tous,

    Voilà, je débute sur le langage sql et je suis confronté à un petit problème.
    J'ai une table comme celle ci (10 champs) :
     BUEXE;ICBUD;PKPR;TCTR;BCBA;LESC;RUD;BUDPD;BUFPD;BUMRD
    2010;1;9;;;;STRU;2010-01-01;2010-12-31;;7761,24
    2010;1;9;;;;RECT;2010-01-01;2010-12-31;;9028,06
    2011;1;9001;;;;EGC6;2010-01-01;2010-12-31;;970,87
    2011;1;9001;;;;EGEC;2010-01-01;2010-12-31;;1682,31

    J'ai la requete suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT DISTINCT
    KBUDPRD.BUEXE AS EXERCICE, 
    KBUDPRD.PKPR AS PROGRAMME,
    KBUDPRD.TCTR AS TRANCHE, 
    KBUDPRD.BCBA AS ENSEMBLE, 
    KBUDPRD.LESC AS ESCALIER, 
    KBUDPRD.ICBUD AS BUDGET, 
    KBUDPRD.RUD AS RUBRIQUE,
    '01/01/2012' AS DEBUT_PERIODE_DEPENSE,
    '31/12/2012' AS FIN_PERIODE_DEPENSE,
    SUM (KBUDPRD.BUMRD) OVER (PARTITION BY KBUDPRD.BUEXE,KBUDPRD.PKPR,KBUDPRD.TCTR, KBUDPRD.BCBA,KBUDPRD.LESC, KBUDPRD.ICBUD, KBUDPRD.RUD) AS 
    MONTANT_DEPENSE_REEL
    FROM LOGI.KBUDPRD KBUDPRD
    WHERE (KBUDPRD.BUDPD>={ts '2012-01-01 00:00:00'} AND KBUDPRD.BUFPD>={ts '2012-01-01 00:00:00'})
    qui permet de faire la somme par KBUDPRD.BUMRD de dépenses sur des périodes données (BUDPD et BUFPD) et d'agréger sur les champs indiqués
    dans PARTITION BY.

    Cette requete fonctionne mais je voudrais avoir une colonne supplémentaire à l'issue de celle-ci qui me ramène pour chaque ligne les données de l'année N-1 et dont la requete est quasiment la meme (à une petite chose prêt) :
    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
    SELECT DISTINCT
    KBUDPRD.BUEXE AS EXERCICE, 
    KBUDPRD.PKPR AS PROGRAMME,
    KBUDPRD.TCTR AS TRANCHE, 
    KBUDPRD.BCBA AS ENSEMBLE, 
    KBUDPRD.LESC AS ESCALIER, 
    KBUDPRD.ICBUD AS BUDGET, 
    KBUDPRD.RUD AS RUBRIQUE,
    '01/01/2011' AS DEBUT_PERIODE_DEPENSE,
    '31/12/2011' AS FIN_PERIODE_DEPENSE,
    SUM (KBUDPRD.BUMRD) OVER (PARTITION BY KBUDPRD.BUEXE,KBUDPRD.PKPR,KBUDPRD.TCTR, KBUDPRD.BCBA,KBUDPRD.LESC, KBUDPRD.ICBUD, KBUDPRD.RUD) AS 
    MONTANT_DEPENSE_REEL_ANNEE_N_MOINS_UN
    FROM LOGI.KBUDPRD KBUDPRD
    WHERE (KBUDPRD.BUDPD>={ts '2011-01-01 00:00:00'} AND KBUDPRD.BUFPD<={ts '2011-12-31 00:00:00'}) 
     AND KBUDPRD.EXE = '2011'
    je ne sais pas agréger ces 2 requêtes en une seule et je voudrais savoir si cela est possible sans passer par des tables temporaires.

    Merci d'avance de vos avis.
    Bonne journée

  2. #2
    Membre chevronné
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Points : 1 878
    Points
    1 878
    Par défaut
    je ne sais pas agréger ces 2 requêtes en une seule et je voudrais savoir si cela est possible sans passer par des tables temporaires.
    Je ne sais pas lire des requêtes en dehors des balises codes.
    Merci de les utiliser

Discussions similaires

  1. Requête multicritère sur une même table
    Par M31ani3 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 26/09/2011, 16h13
  2. Requête conditionnelle sur une même table
    Par grafistolage dans le forum Langage SQL
    Réponses: 9
    Dernier message: 15/02/2010, 00h49
  3. requête imbriquée sur la même table
    Par djosh dans le forum Langage SQL
    Réponses: 5
    Dernier message: 29/09/2009, 17h24
  4. Requête imbriquée dans une même table
    Par casavba dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/01/2008, 22h02
  5. Réponses: 1
    Dernier message: 08/09/2006, 16h56

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