1

と呼ばれるテーブルの1つの一意の行エントリからすべての値を取得するSQLクエリを作成する必要がありますJOBS

しかし、そうするためには、テーブルEMPLOYEESへの外部キーを持つというテーブルを使用する必要がありJOBSます。条件は、テーブル内でjob_idがさらに繰り返されるテーブルJOBSからjob_titleを返すことですEMPLOYEES

1つのSQLステートメントでそれを行う必要があります。

必要な出力:

Stock Clerk

これは私が持っているクエリです

SELECT job_id  
FROM (SELECT job_id FROM employees GROUP BY job_id ORDER BY COUNT(*) desc)  
WHERE ROWNUM <= 1;

job_titleしかし、それは私が必要としているものからのものであるため、十分ではありませんEMPLOYEES

どうすればいいのか分かりますか?Oracle11gデータベースを使用しています

これは私のテーブルがどのように見えるかです:

従業員

従業員

仕事

仕事

4

1 に答える 1

1
SELECT job_title from JOBS where JOB_ID = (
SELECT job_id FROM employees GROUP BY job_id ORDER BY COUNT(*) desc LIMIT 1)

オラクルでLIMIT1を使用できるかどうかを覚えておいてください。そうでない場合は、

SELECT job_title from JOBS where JOB_ID = (
SELECT job_id FROM employees GROUP BY job_id ORDER BY COUNT(*) desc where ROWNUM=1)

また、上位2つ以上のジョブIDが等しい場合、そのうちの1つだけが出力されることに注意してください(つまり、SA_REPとST_CLERKの両方が4回出現した場合、そのうちの1つだけが表示されます)これに対する要件は明確ではありませんが、上記のクエリはそのうちの1つだけを返します

于 2012-11-07T20:46:35.307 に答える