我有这个问题,我正在使用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

谢谢