私はsqlを初めて使用するので、どんな助けでもありがたいです。
employees
とjobs
の2つのテーブルがあります。 employees
変数を含むjob_id
(複数の従業員が同じjob_IDを持つことができます)。 jobs
には変数が含まれますjob_id
およびjob_title
(1つのjob_IDは1つのjob_titleに対応します。興味がある場合、これはOracleのhrスキーマです)。
クエリに、job_title、job_ID、および同じjob_Idを持っている人の数を返させたいです。
私は次のコードを試しました:
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:GROUP BY式ではありません。00979. 00000-"GROUP BY式ではありません" *原因:
*アクション:
行のエラー:83列:8
これを修正するのを手伝ってくれませんか?
エラーメッセージは少し誤解を招くです。 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.job_title