【发布时间】:2012-01-04 04:10:33
【问题描述】:
如果是,下面的第一个查询应该是正确的,但显示错误 ORA-00979: not a GROUP BY 表达式。 如果不是,第三个查询也应该抛出错误...
SELECT POSSIBLE.ENAME, POSSIBLE.DEPTNO, POSSIBLE.SAL
FROM EMP POSSIBLE
WHERE SAL >
(SELECT AVG (SAL)
FROM EMP AVERAGE group by possible.deptno having
POSSIBLE.DEPTNO = AVERAGE.DEPTNO) ;
SELECT POSSIBLE.ENAME, POSSIBLE.DEPTno, POSSIBLE.SAL
FROM EMP POSSIBLE
WHERE SAL >
(SELECT AVG (SAL)
FROM EMP AVERAGE group by average.deptno having
POSSIBLE.DEPTno = AVERAGE.DEPTno) ;
SELECT POSSIBLE.ENAME, POSSIBLE.DEPTNO, POSSIBLE.SAL
FROM EMP POSSIBLE
WHERE SAL >
(SELECT AVG (SAL)
FROM EMP AVERAGE group by possible.deptno) ;
【问题讨论】:
-
再一次,似乎第一个查询是错误的,要么是因为'group by' 要么是'have'......无论哪种方式,无论出于何种原因,接下来的两个形式也应该是错误的。提供意见...?
标签: sql group-by correlated-subquery