я получил ошибку ORA-00979: не ГРУППА ПО выражению

#sql #oracle #ora-00979

Вопрос:

Я получил ошибку ORA-00979 со следующим запросом:

 SELECT d.department_name "department name",
       e.job_id "job title",
       SUM(e.salary) "monthly cost", 
       GROUPING(d.department_id) "Department ID Used",
       GROUPING(e.job_id) "Job ID Used"
FROM   employees e
       JOIN departments d
       ON e.department_id=d.department_id
GROUP BY cube(d.department_name, e.job_id)
ORDER BY d.department_name, e.job_id
 

Что-то не так с запросом?

Ответ №1:

Вы используете GROUPING(d.department_id) , но department_id этого нет в GROUP BY предложении.

Вы могли бы добавить это в GROUP BY предложение:

 SELECT d.department_name "department name",
       e.job_id "job title",
       SUM(e.salary) "monthly cost",
       GROUPING(d.department_id) "Department ID Used",
       GROUPING(e.job_id) "Job ID Used"
FROM   employees e
       JOIN departments d
       ON e.department_id=d.department_id
GROUP BY cube(d.department_name, d.department_id, e.job_id)
ORDER BY d.department_name, e.job_id
 

бд<>скрипка <>здесь

Комментарии:

1. Спасибо за вашу помощь, теперь я могу запустить запрос прямо сейчас