Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/03/2011, 17h32   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2006
Messages : 87
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 87
Points : 13
Points : 13
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 :

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

Citation:
PRODUIT | IDF | ALSACE|LIMOUSIN
bananes |100 | 300 | 500
pommes | 200 | 100 | 1000
J'espère m'etre bien fait comprendre ...
abdelhamidem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 17h40   #2
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
Lance une recherche sur le forum avec le mot clef PIVOT
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 18h00   #3
Membre du Club
 
Inscription : novembre 2008
Messages : 46
Détails du profil
Informations personnelles :
Localisation : Royaume-Uni

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

Code sql :
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
Jorafali est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h55.


 
 
 
 
Partenaires

Hébergement Web