Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle Pivot - conversion de valeurs en colonnes

Depuis le STUDY_VALUE colonne semble être une chaîne, vous devrez utiliser soit le max() ou min() fonction d'agrégation sur les valeurs :

SELECT *
FROM  
(
  SELECT STUDYID, STUDY_VALUE, STUDY_PARAMETER
  FROM   STUDY_INFO
)
PIVOT 
(
  MAX(STUDY_VALUE)
  FOR (STUDY_PARAMETER) IN ('Age Unit' AS AGE_UNIT,
                              'Age Group' AS AGE_GROUP,
                              'Trial Type' AS TRIAL_TYPE)
);

Voir SQL Fiddle avec démo