Ceci est une question de suivi à Transpose one row into many rows OracleHave UNPIVOT saisir automatiquement la liste des colonnes (Oracle 11g)
Je veux être en mesure de UNPIVOT un résultat de requête arbitraire.
Pour UNPIVOT manuellement une table, je le ferais:
select value_type, value from (
(
-- query to be unpivoted
-- EG: select col1, col2, col3, col4, col5 from table
)
unpivot
(
-- Line I would like to change
value for value_type in (col1, col2, col3, col4, col5)
)
);
Cela fonctionne pour toutes les requêtes qui retournent 5 colonnes, appelé col1, col2
, etc. Y at-il quelque chose que je mets à la place de value for value_type in (col1, col2, col3, col4, col5)
qui saisira toutes les noms de colonnes de la requête/vue/table sélectionnée dans la première partie?
Voici une réponse détaillée avec le code: http://stackoverflow.com/questions/15100101/unpivot-on-an-indeterminate-number-of-columns – Vadzim