我有这个问题,我正在使用ORA-12015创建这个物化视图与FAST REFRESH与GROUP BY语句 . 是否有解决方法来创建此物化视图?
SELECT tmp.a period,
tmp.b,
evals.c,
evals.d
FROM ( SELECT MAX (period) AS period, alldates, b
FROM (SELECT d.alldates alldates, e.a period, e.b
FROM tmp_table1 e
INNER JOIN
(SELECT TRUNC (SYSDATE + 1) - ROWNUM + 1 AS alldates
FROM tmp_table
WHERE ROWNUM <=
TRUNC (SYSDATE + 1)
- TRUNC (ADD_MONTHS (SYSDATE, -122), 'MM'))
d
ON e.period <= d.alldates)
GROUP BY alldates, b) tmp
INNER JOIN tmp_table1 evals
ON tmp.period = evals.period AND tmp.b = evals.b;
注意:tmp_table只是一个拥有10,000行的虚拟表,因此它可以生成10年前的日期,直到现在的行 . 此声明的目的是在c和d中生成相同的值以填写“缺失天数”,除非tmp_table1中有> date
例如:
tmp_table1
a c d
1/1/2017 1 2
1/4/2017 3 3
Result
a c d
1/1/2017 1 2
1/2/2017 1 2
1/3/2017 1 2
1/4/2017 3 3
谢谢