Oracle
 sql >> Database >  >> RDS >> Oracle

Oracle Pivot:conversione di valori in colonne

Dal momento che lo STUDY_VALUE colonna sembra essere una stringa, dovrai usare il max() o min() funzione di aggregazione sui valori:

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)
);

Vedi SQL Fiddle con demo