sql >> Base de Datos >  >> RDS >> Oracle

Oracle Pivot:convertir valores en columnas

Desde el STUDY_VALUE columna parece ser una cadena, necesitará usar el max() o min() función agregada sobre los valores:

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

Consulte SQL Fiddle con demostración