Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle Pivot - Konvertieren von Werten in Spalten

Da der STUDY_VALUE Spalte ein String zu sein scheint, müssen Sie entweder max() verwenden oder min() Aggregatfunktion auf den Werten:

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

Siehe SQL Fiddle mit Demo