2013-04-08 10 views
12

私はSQLを初めて使用しています。oracle sqlの式によるグループとの内部結合

私は2つのテーブル、employeesjobsを持っています。 employeesには変数job_idが含まれています(複数の従業員が同じjob_IDを持つことができます)。 jobsは、(1 JOB_ID 1つのjob_titleに対応してあなたが興味を持っている場合、これはOracleでhrスキーマである)変数job_idjob_titleが含まれています。

私は、クエリが返すようにしたい:のjob_title、JOB_IDと同じJOB_IDを持っている人の数を。

Iは、次のコードを試みた:

select j.job_title, e.job_ID, count(e.job_ID) 
from employees e, jobs j 
where e.job_id=j.job_id 
group by e.job_Id 

がエラーメッセージである:

ORA-00979:式 00979. 00000によるものGROUP - "発現によるものGROUP" *原因:
*処置:
行のエラー:8

これを解決するお手伝いをしてもらえますか?

答えて

21

エラーメッセージは少し誤解を招くあります。あなたselectフィールドの束と集計は、あなたがgroup byにすべてのフィールドあなたselectとフィールドのみおselectを持っている場合。だからあなたのクエリがなければならない:

select j.job_title, e.job_ID, count(e.job_ID) 
from employees e, jobs j 
where e.job_id=j.job_id 
group by e.job_Id, j.jobtitle 
+0

は、ありがとう、ありがとう! – Cici

関連する問題