[SQL] table pivot ?

table pivot ? [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 20-03-2003 à 16:25:57    

salut à tous !
 
sous oracle,
j'ai une table TABLE 1 avec les valeurs suivantes :
 

T1_NUM T1_DAY T1_QTY
-----------------------
1       1       15
1       2       20
1       3       18
1       4       30
1       5       22
2       1       14
2       2       19  
2       3        
2       4       14
2       5       12
3       1       22
3       2       20
3       3       18
3       4       15
3       5       16
4       1       12
4       2       17
4       3       15
4       4       20
4       5       17


 
 
je voudrai visualiser les résultat de la sorte :
 
 

| T1_NUM   | 1     | 2     | 3     | 4     | 5     |    <-- T1_DAY
---------------------------------------------------------
|    1     |   15  |   20  |   18  |   30  |   22  |        
|    2     |   14  |   19  |       |   14  |   12  |      
|    3     |   22  |   20  |   18  |   15  |   16  |        
|    4     |   12  |   17  |   15  |   20  |   17  |


 
j'ai pensé à créer une table ou une vue dynamiquement, avec comme nom de champs les valeurs de T1_DAY,  
le nombre de champs n'est pas fixe, et il peut y avoir des valeurs nulles
mais tout ça devient un peu l'usine à gaz...
 
y'a pas un moyen magique, super simple de faire ça ?
 
merci d'avance !


Message édité par ouf le 20-03-2003 à 16:27:35
Reply

Marsh Posté le 20-03-2003 à 16:25:57   

Reply

Marsh Posté le 20-03-2003 à 17:06:40    

ahhrrrggg  !
 
access le fait tout seul !!
 
avec la "requête Analyse dynamique"
 
le code de ma requête qui fonctionne dans access est le suivant :
 

TRANSFORM Last([T1_QTY])
SELECT [T1_NUM]
FROM Table1
GROUP BY [T1_NUM]
PIVOT [T1_DAY];


 
ça existe pas en SQL ça ??

Reply

Marsh Posté le 22-04-2006 à 21:18:45    

As tu réussi à faire ceci ?
je suis intéréssé par la méthode pour faire l'opération inverse sous oracle 7.

Reply

Marsh Posté le 17-05-2006 à 23:24:28    

et bien....
3 ans + tard, il m'est trés difficile de me souvenir comment je m'en suis sorti...  
j'ai surement pondu un algo à la con en PL, ou trouvé une requête de la mort qui tue...    m'en souvient plus...
 
tu peux peut-être t'inspirer de ça
http://weblogs.asp.net/stevencohn/ [...] 62373.aspx

Reply

Marsh Posté le 18-05-2006 à 13:58:16    

pour mettre en colonne ou pour décolonner, la fonction decode marche très bien sous oracle.
 
Le lien ci-dessous en anglais te l'expliquera très bien :
 
http://www.orafusion.com/art_etl.htm
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed