Eu tenho uma visão complexa com cálculos, mas uma linha causa problemas
ROUND((((latest_revenue::numeric/ oper_reve_3y_old::numeric) ^ (1/3::numeric)) -1::numeric)*100::numeric)
Quando executo a consulta, o cálculo funciona bem, quando uso em view, tudo funciona bem, mas se tento criar view materializada com essa instrução, recebo erro
"um número negativo elevado a uma potência não inteira produz um resultado complexo"
existe alguma maneira de como posso usar isso na visão materializada? ou existe alguma explicação por que isso não funciona apenas para visualização materializada?
Você receberá o mesmo erro se consultar toda a visualização:
Você provavelmente não verá o erro ao usar a exibição porque está usando
WHERE
condições adicionais que evitam os valores problemáticos.Lembre-se de que uma visão é apenas uma
SELECT
instrução nomeada, portanto, consultar uma visão não é necessariamente feito primeiro calculando a visão inteira e depois aplicando as condições. No entanto, quando você cria uma visão materializada, todos os dados da visão devem ser selecionados.