2016-12-19 19 views
1

質問: 給与総額が15000を超えるオフィスごと(カンタオア)、平均給与をオフィス名。ORA-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;  

クエリ出力は次のとおりです:これは私の現在のクエリで、内側はclausule

を使用して結合を使用

ORA-00934:グループ機能は、ここで 00934. 00000許可されていません - "グループ機能は許可されていません" *原因:
*処置: 行のエラー:29列:13

+0

またはGROUP BY句を使用します。 [Oracle/PLSQL:ORA-00934エラーメッセージ](https://www.techonthenet.com/oracle/errors/ora00934.php) – MikeT

答えて

6

あなたはこのためにHAVINGを使用する必要があります:WHERE句のいずれかで:(MIN関数、MAX関数、SUM関数、COUNT関数すなわち)あなたはグループ関数の1つを含むSQLステートメントを実行しようとした

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ありがとうございます。 –

関連する問題