2016-12-19 49 views
1

问题是: 给予每个办公室(kantoor)的薪水总额大于15000,给出平均薪水和办公室名称。使用使用clausuleORA-00934:此处不允许使用组功能00934. 00000 - “此处不允许使用组功能”

内加入这是我当前的查询:

SELECT  OFF.OFFICENR, 
      OFF.NAME AS OFFICE, 
      AVG(SAL) 
FROM  OFFICE OFF INNER JOIN EMPLOYEE EMP USING (OFFICENR) 
WHERE  SUM((SAL) >= 15000)     **<---line 29** 
GROUP BY OFF.OFFICENR, OFF.NAME;  

查询输出是:

ORA-00934:组函数是不是在这里 00934. 00000允许 - “组功能在这里是不允许的” *原因:
*操作: 错误在行:29列:13

+0

试图执行,其中包括的组功能之一(即:MIN功能,MAX功能,SUM函数,COUNT函数)SQL语句无论是在WHERE子句或GROUP BY子句。根据[Oracle/PLSQL:ORA-00934错误信息](https://www.techonthenet.com/oracle/errors/ora00934.php) – MikeT

回答

6

你应该使用HAVING此:

SELECT  OFF.OFFICENR, 
      OFF.NAME AS OFFICE, 
      AVG(SAL) 
FROM  OFFICE OFF 
INNER JOIN EMPLOYEE EMP USING (OFFICENR) 
GROUP BY OFF.OFFICENR, OFF.NAME 
HAVING  SUM(SAL) >= 15000; 
+0

谢谢Siyual。 –

相关问题