Não sei se entendi bem seu problema, mas acredito que possa ser isto que você está tentando obter:
Selecionar tudo
SELECT CodigoProduto,
(ConsumoMes1 /EstoqueMes1 )*30 Janeiro,
(ConsumoMes2 /EstoqueMes2 )*30 Fevereiro,
(ConsumoMes3 /EstoqueMes3 )*30 Marco,
(ConsumoMes4 /EstoqueMes4 )*30 Abril,
(ConsumoMes5 /EstoqueMes5 )*30 Maio,
(ConsumoMes6 /EstoqueMes6 )*30 Junho,
(ConsumoMes7 /EstoqueMes7 )*30 Julho,
(ConsumoMes8 /EstoqueMes8 )*30 Agosto,
(ConsumoMes9 /EstoqueMes9 )*30 Setembro,
(ConsumoMes10/EstoqueMes10)*30 Outubro,
(ConsumoMes11/EstoqueMes11)*30 Novembro,
(ConsumoMes12/EstoqueMes12)*30 Dexembro
FROM (
SELECT e.codigo_material CodigoProduto,
SUM(decode(EXTRACT(MONTH FROM mesano), 1,Consumo,0)) ConsumoMes1,
SUM(decode(EXTRACT(MONTH FROM mesano), 2,Consumo,0)) ConsumoMes2,
SUM(decode(EXTRACT(MONTH FROM mesano), 3,Consumo,0)) ConsumoMes3,
SUM(decode(EXTRACT(MONTH FROM mesano), 4,Consumo,0)) ConsumoMes4,
SUM(decode(EXTRACT(MONTH FROM mesano), 5,Consumo,0)) ConsumoMes5,
SUM(decode(EXTRACT(MONTH FROM mesano), 6,Consumo,0)) ConsumoMes6,
SUM(decode(EXTRACT(MONTH FROM mesano), 7,Consumo,0)) ConsumoMes7,
SUM(decode(EXTRACT(MONTH FROM mesano), 8,Consumo,0)) ConsumoMes8,
SUM(decode(EXTRACT(MONTH FROM mesano), 9,Consumo,0)) ConsumoMes9,
SUM(decode(EXTRACT(MONTH FROM mesano),10,Consumo,0)) ConsumoMes10,
SUM(decode(EXTRACT(MONTH FROM mesano),11,Consumo,0)) ConsumoMes11,
SUM(decode(EXTRACT(MONTH FROM mesano),12,Consumo,0)) ConsumoMes12,
SUM(decode(EXTRACT(MONTH FROM mesano), 1,Estoque,0)) EstoqueMes1,
SUM(decode(EXTRACT(MONTH FROM mesano), 2,Estoque,0)) EstoqueMes2,
SUM(decode(EXTRACT(MONTH FROM mesano), 3,Estoque,0)) EstoqueMes3,
SUM(decode(EXTRACT(MONTH FROM mesano), 4,Estoque,0)) EstoqueMes4,
SUM(decode(EXTRACT(MONTH FROM mesano), 5,Estoque,0)) EstoqueMes5,
SUM(decode(EXTRACT(MONTH FROM mesano), 6,Estoque,0)) EstoqueMes6,
SUM(decode(EXTRACT(MONTH FROM mesano), 7,Estoque,0)) EstoqueMes7,
SUM(decode(EXTRACT(MONTH FROM mesano), 8,Estoque,0)) EstoqueMes8,
SUM(decode(EXTRACT(MONTH FROM mesano), 9,Estoque,0)) EstoqueMes9,
SUM(decode(EXTRACT(MONTH FROM mesano),10,Estoque,0)) EstoqueMes10,
SUM(decode(EXTRACT(MONTH FROM mesano),11,Estoque,0)) EstoqueMes11,
SUM(decode(EXTRACT(MONTH FROM mesano),12,Estoque,0)) EstoqueMes12
FROM movimento m,
cadastro e
WHERE m.codigo_material = e.codigo_material
AND mesano BETWEEN to_date('01/01/2010','dd/mm/yyyy')
AND to_date('31/12/2010','dd/mm/yyyy')
GROUP BY e.codigo_material)
ORDER BY CodigoProduto;