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 avec des groupes de conditions distincts


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Points : 43
    Points
    43
    Par défaut Requête avec des groupes de conditions distincts
    Bonjour,

    Je voudrais faire une requete sur une table T qui se definit comme suit:

    produit varchar
    departement number
    ventes number

    Ce que je cherche à faire c'est regrouper les départements par région, et avoir la somme de vente pour chaque produit par région. Avec les régions comme des colonnes.. c'est à dire au lieu d'avoir :

    PRODUIT | DEPT |VENTES
    bananes | 01 | 15
    bananes | 02 | 10
    etc...
    pommes | 01 | 8
    pommes | 02 | 30
    je voudrais avoir :

    PRODUIT | IDF | ALSACE|LIMOUSIN
    bananes |100 | 300 | 500
    pommes | 200 | 100 | 1000
    J'espère m'etre bien fait comprendre ...

  2. #2
    Invité
    Invité(e)
    Par défaut
    Lance une recherche sur le forum avec le mot clef PIVOT

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Novembre 2008
    Messages : 46
    Points : 60
    Points
    60
    Par défaut
    En m'aidant d'une dimension pour etblir le lien entre departements et regions, cette requete a l'air de fonctionner :

    Code sql : 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
    WITH tbl AS 
    (SELECT 'p1' AS product, 1 AS dpt, 11 AS sales FROM dual UNION ALL 
     SELECT 'p1' AS product, 1 AS dpt, 11 AS sales FROM dual UNION ALL 
     SELECT 'p2' AS product, 1 AS dpt, 11 AS sales FROM dual UNION ALL 
     SELECT 'p2' AS product, 2 AS dpt, 11 AS sales FROM dual UNION ALL 
     SELECT 'p3' AS product, 2 AS dpt, 11 AS sales FROM dual UNION ALL 
     SELECT 'p3' AS product, 3 AS dpt, 11 AS sales FROM dual
    ),
    reg_dim AS 
    (SELECT 'region_1' AS reg, 1 AS dpt FROM dual UNION ALL
     SELECT 'region_1' AS reg, 2 AS dpt FROM dual UNION ALL  
     SELECT 'region_2' AS reg, 3 AS dpt FROM dual
    )
    SELECT product, 
           SUM(DECODE ( reg, 'region_1', sales, 0) ) AS REGION_1,
    			 SUM(DECODE ( reg, 'region_2', sales, 0) ) AS REGION_2
    FROM tbl, reg_dim 
    WHERE tbl.dpt = reg_dim.dpt
    GROUP BY product

Discussions similaires

  1. requète avec des group by ?
    Par awalter1 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/04/2009, 10h28
  2. SQL Requête avec des dates
    Par dahu29 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/03/2006, 18h20
  3. [CR8.5] Chevauchement de champs avec des groupes
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 11/10/2005, 22h50
  4. Requête avec des tables de plusieurs bases
    Par Oluha dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/04/2005, 16h56
  5. [ADO/Access] Appel d’une requête avec des paramètres
    Par Taxenna dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/12/2004, 14h58

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