我对计算有复杂的看法,但有一条线会引起问题
ROUND((((latest_revenue::numeric/ oper_reve_3y_old::numeric) ^ (1/3::numeric)) -1::numeric)*100::numeric)
当我执行查询时,计算工作正常,当我在视图中使用它时,一切正常,但是如果我尝试用这个语句创建物化视图,我得到错误
“一个负数的非整数幂会产生一个复杂的结果”
有什么办法可以在物化视图中使用它?还是有一些解释为什么这不适用于物化视图?
如果您查询整个视图,您将得到相同的错误:
当您使用视图时,您可能看不到错误,因为您正在使用其他
WHERE
条件来避免有问题的值。请记住,视图只是一个命名
SELECT
语句,因此查询视图不一定要首先计算整个视图然后应用条件来完成。但是,当您创建物化视图时,必须选择视图中的所有数据。