Не могу вставить значения в мою таблицу внутри анонимного блока ... но это работает, если я запускаю запрос без начала и конца - PullRequest
0 голосов
/ 14 февраля 2020
INSERT INTO  mtl_strmnth_grid_tmp
( guid,
  rigmove_mnth_no,
  rigmove_month,
  AVERAGE,
  actual
)
SELECT
    '1234',
    A.rigmove_mnth_no,
    A.rigmove_month,
    B.AVG as "AVERAGE",
    b.actual AS "ACTUAL"
FROM
    (
        SELECT DISTINCT
            to_char(quarter_date,'MM') AS rigmove_mnth_no,
            to_char(quarter_date,'MONTH') AS rigmove_month
        FROM
            t_adm_calendar
        WHERE
            quarter_date BETWEEN TO_DATE('01/01/2018','DD/MM/YYYY') AND TO_DATE('31/01/2018','DD/MM/YYYY')
    ) A
    LEFT OUTER JOIN (
        SELECT
            rigmove_mnth_no,
            rigmove_month,
            SUM(AVG) AS AVG,
            actual
        FROM
            (SELECT
                    EXTRACT(MONTH FROM sm1.rigmove_date) rigmove_mnth_no,
                    to_char(sm1.rigmove_date,'MONTH') rigmove_month,
                    SUM(DISTINCT sm2.AVG) AS AVG,
                    sm1.main_activity_code_pk,
                    SUM(sm1.actual) AS actual
                FROM
                    v_report_smdelivery sm1
                    LEFT JOIN v_report_smdelivery_budget sm2 ON sm1.main_activity_code_pk = sm2.main_activity_code_pk
                WHERE
                    sm1.rigmove_date BETWEEN TO_DATE('01/01/2018','DD/MM/YYYY') AND TO_DATE('31/01/2018','DD/MM/YYYY')
                GROUP BY
                    EXTRACT(MONTH FROM sm1.rigmove_date),
                    to_char(sm1.rigmove_date,'MONTH'),
                    sm1.main_activity_code_pk
                ORDER BY
                    EXTRACT(MONTH FROM sm1.rigmove_date),
                    to_char(sm1.rigmove_date,'MONTH')
            )
        GROUP BY
            rigmove_mnth_no,
            rigmove_month,
            actual

        ORDER BY
            rigmove_mnth_no,
            rigmove_month
    ) b ON A.rigmove_mnth_no = b.rigmove_mnth_no
ORDER BY rigmove_mnth_no
;

Если я использую этот запрос в конце начала / .. он показывает ошибку ORA-00979: не выражение GROUP BY ORA-06512: в строке 3 00979. 00000 - "не выражение GROUP BY" * Причина :
* Действие:

Но если я запускаю этот запрос за пределами блока pl sql, он работает ... помогите мне решить эту проблему ...

1 Ответ

0 голосов
/ 17 февраля 2020

На самом деле я удалил извлечение в группу по выражению, и оно работает нормально ...

Но в другой системе оно работает нормально, даже несмотря на то, что извлечение в группу по выражению ...

...