我需要创建一个SQL查询来从名为JOBS
的表中的一个唯一行条目中检索所有值。
但要这样做,我需要使用一个名为EMPLOYEES
的表,该表具有JOBS
表的外键。
条件是从表JOBS返回job_title,其中job_id在EMPLOYEES
表中重复了多次。
我需要用一个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
我需要的东西。
你知道我该怎么办?我正在使用Oracle 11g数据库
这就是我的表格的样子:
EMPLOYEES
工作
答案 0 :(得分:1)
SELECT job_title from JOBS where JOB_ID = (
SELECT job_id FROM employees GROUP BY job_id ORDER BY COUNT(*) desc LIMIT 1)
如果你能在oracle中使用LIMIT 1,那就不要记得了,但如果没有,那么
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相等,则只打印其中一个(即如果SA_REP和ST_CLERK都出现4次,则只会显示其中一个) 目前尚不清楚您的要求是什么,但上述查询只会返回其中一个