Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
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 29/12/2010, 17h01   #1
Invité régulier
 
Inscription : mars 2008
Messages : 42
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 42
Points : 5
Points : 5
Par défaut UNPIVOT sous Oracle 11g R2

Bonjour a tous,

Mon problème et que je n'arrive pas a utiliser la fonction UNPIVOT.

header_column_name|indicator_value
02/10 | 52€
03/10 | 53€
01/10 | 51€

je voudrais avoir

02/10 | 03/10 | 01/10
52€ | 53€ | 51€

ma requete :
select * from maTable
UNPIVOT (indicator_value FOR header_column_name in (?));

? => n'importe quel valeur cela me mets "identificateur non valide"


D'avance merci
usbfoot62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2010, 19h12   #2
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
Bon d'abord ce que tu veux faire c'est plutôt PIVOT que UNPIVOT.
As tu regardé un peu de doc sur PIVOT ?
Ca n'est peut être pas la meilleure entrée, il en existe sûrement d'autre...

Il faut une fonction d'aggrégation exemple avec ton jeu de données :
Code :
1
2
3
4
5
6
7
8
9
10
11
SQL> WITH t AS (
  SELECT '02/10' AS header_column_name, '52€' AS indicator_value FROM dual union ALL
  SELECT '03/10', '53€' FROM dual union ALL
  SELECT '01/10', '51€' FROM dual
)
SELECT * FROM t
PIVOT (max(indicator_value) FOR (header_column_name) IN ('01/10' AS "01/10",'02/10' AS "02/10",'03/10' AS "03/10"));
 
01/10 02/10 03/10
----- ----- -----
51??? 52??? 53???
Mais comme tu peux le constater c'est très statique, en effet pivoter en sql ne peut être que très statique, si tu as la liberté de pivoter dans ton langage client, fait le !
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/12/2010, 13h33   #3
Invité régulier
 
Inscription : mars 2008
Messages : 42
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 42
Points : 5
Points : 5
Merci beaucoup cela marche bien.
usbfoot62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h21.


 
 
 
 
Partenaires

Hébergement Web