SELECT SUM(CASE WHEN t.month = 1 THEN t.value ELSE 0 END) AS JAN,
SUM(CASE WHEN t.month = 2 THEN t.value ELSE 0 END) AS FEB,
SUM(CASE WHEN t.month = 3 THEN t.value ELSE 0 END) AS MAR,
SUM(CASE WHEN t.month = 4 THEN t.value ELSE 0 END) AS APR,
SUM(CASE WHEN t.month = 5 THEN t.value ELSE 0 END) AS MAY,
SUM(CASE WHEN t.month = 6 THEN t.value ELSE 0 END) AS JUN
FROM YOUR_TABLE t
Вы указываете только два столбца - что-то вроде этого, вероятно, должно быть сгруппировано по годам.
Синтаксис ANSI PIVOT (и UNPIVOT), но Oracle не поддерживал его до 11g. До 9i вам придется заменить операторы CASE на Oracle DECODE.
если Вы хотите присвоить новое имя после изменения NAs в определенном столбце в этом столбце V3 случая, используйте Вас, может сделать также как это
my.data.frame$the.new.column.name <- ifelse(is.na(my.data.frame$V3),0,1)