Oracle Pivot - преобразование значений в столбцы
У меня есть таблица в Oracle 11g с 3 полями:
STUDYID | STUDY_PARAMETER | STUDY_VALUE
5268 | Age Group | ADULT (18-65)
5269 | Age Group | ADULT (18-65)
5270 | Age Group | ADULT (18-65)
5271 | Age Unit | ADULT (18-65)
1668A | Trial Type | ADULT (18-65)
5273 | Trial Type | Dispensing
5345 | Age Unit | Years
1668AC | Age Group | ADULTS (18-39)
Итак, мне нужно отобразить значения в следующем порядке:
STUDY_ID | AGE_GROUP | AGE_UNIT | TRIAL_TYPE
5268 | ADULT (18-65) | Years | Dispensing
5269 | ADULT (18-65) | (null) | (null)
1668AC | ADULTS (18-39)| Years | Non - Dispensing
и так далее.
То, что я до сих пор это:
SELECT *
FROM (
SELECT STUDYID, STUDY_VALUE, STUDY_PARAMETER
FROM RD.STUDY_INFO
)
PIVOT (
SUM(STUDY_VALUE)
FOR (STUDY_PARAMETER)
IN (
'Age Unit' AS AGE_UNIT,
'Age Group' AS AGE_GROUP,
'Trial Type' AS TRIAL_TYPE
)
);
Я узнал об этом из примеров в сети, но я не уверен, что смогу использовать SUM () вот так ...?!
Я получаю эту ошибку:
ORA-01722: invalid number
01722. 00000 - "invalid number"
Кто-нибудь видит, что я делаю не так?