Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 具有多个返回值的相交表_Sql_Oracle - Fatal编程技术网

Sql 具有多个返回值的相交表

Sql 具有多个返回值的相交表,sql,oracle,Sql,Oracle,我想问一下,对于这个SQL问题,如何检查类似的结果组 =========== EMPLOYEE =========== ID | Name | =========== 1 | EMP1 | 2 | EMP2 | ================== HASSKILL ================== EMPID | SkillID | 1 | 001 | 1 | 002 | 1 | 003 | 2 | 003 |

我想问一下,对于这个SQL问题,如何检查类似的结果组

===========
EMPLOYEE
===========
ID | Name |
===========
 1 | EMP1 |
 2 | EMP2 |

==================
HASSKILL
==================
EMPID | SkillID  |
  1   | 001      |
  1   | 002      |
  1   | 003      |
  2   | 003      |
  2   | 004      |
  2   | 005      |

JOB
===================
JobID | NEEDSKILL |
===================
  1   | 002       |
  1   | 003       |
我可以通过以下命令获得工作所需的技能:

SELECT NEEDSKILL FROM JOB WHERE JobID = 1;

我如何“循环”通过员工,并显示具有工作1所需技能的员工,而无需pl/sql?

您好,谢谢您的回复,您能为我解释一下您的代码吗,因为我无法真正理解它。谢谢。它计算每个员工的技能数量,并检查此数量是否等于所需的技能数量。如果有另一个工作具有相同数量的所需技能,但具有不同的技能id,这难道不是错误的吗?我们只计算jobid=1所需技能中的技能。拥有两个聚合似乎是一种非常低效的方法信息技术此外,您实际显示的不是员工,而是他的ID。
select empid from HASSKILL, JOB
where jobid = 1 and skillid = needskill
group by empid
having count(0) = (select count(0) from JOB where jobid = 1)