多维数据集 SQL ORA-00936 缺少表达式

Cube SQL ORA-00936 missing expression

我正在尝试在我的查询中使用多维数据集,但它没有用 这是我的查询

select department_id, job_id , salary/12 as "monthly_salary"
from employees
where department_id
(select department_id from departments)
group by cube(department_id,job_id)
order by department_id,job_id;

通过使用 2 个表,分别是员工和部门 如果我问得太多,请原谅我,我还是个新手:)

不完全确定你在问什么,但这里有一个多维数据集示例,可以按 deptno、job 和两者的组合获得总计

SQL> select deptno,job,sum(sal) from scott.emp
  2  group by CUBE(deptno,job)
  3  order by deptno,job;

    DEPTNO JOB         SUM(SAL)
---------- --------- ----------
        10 CLERK           1300
        10 MANAGER         2450
        10 PRESIDENT       5000
        10                 8750
        20 ANALYST         6000
        20 CLERK           1900
        20 MANAGER         2975
        20                10875
        30 CLERK            950
        30 MANAGER         2850
        30 SALESMAN        5600
        30                 9400
           ANALYST         6000
           CLERK           4150
           MANAGER         8275
           PRESIDENT       5000
           SALESMAN        5600
                          29025

你不见了

  • IN 关键字(用于部门列表)
  • SUM 工资函数
    • 我加入了 ROUND 这样它看起来更漂亮

所以:

  SELECT department_id, 
         job_id, 
         ROUND (SUM (salary) / 12) monthly_salary
    FROM employees
   WHERE department_id IN (SELECT department_id FROM departments)
GROUP BY CUBE (department_id, job_id)
ORDER BY department_id, job_id