J'ai des données dans un tableau comme ci-dessous:
MONTH VALUE
1 100
2 200
3 300
4 400
5 500
6 600
Je veux écrire une requête SQL afin que le résultat est donné ci-dessous:
MONTH_JAN MONTH_FEB MONTH_MAR MONTH_APR MONTH_MAY MONTH_JUN
100 200 300 400 500 600
OriginalL'auteur code990 | 2011-01-30
Oracle 9i+ prend en charge:
Vous n'liste à deux colonnes -- quelque chose comme cela devrait probablement être regroupés par année.
Il est ANSI PIVOT (et UNPIVOT) de la syntaxe, mais l'Oracle ne prend pas en charge jusqu'à 11g. Avant 9i, vous devez remplacer le CAS des déclarations avec Oracle spécifiques DÉCODER.
OriginalL'auteur OMG Ponies
Oracle 11g et au-dessus de
De Oracle 11g, vous pouvez maintenant utiliser le
PIVOT
opérateur pour parvenir à ce résultat:OriginalL'auteur René Nyffenegger