Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Oracle sql查询返回所有值,而不是限制值_Oracle - Fatal编程技术网

Oracle sql查询返回所有值,而不是限制值

Oracle sql查询返回所有值,而不是限制值,oracle,Oracle,这是一个家庭作业问题的一部分,但我已经尝试了6个不同的版本,我被卡住了。 每次查询运行时,我都在尝试查找1个管理器。例如,我输入部门id,然后弹出一个名称。目前,我多次得到了所有的名字。我尝试了一个带有“=”的嵌套,但没有嵌套、并集、交集等。我可以通过一个基本查询获取管理器id,但无法获取名称。当前版本如下所示: select e.ename from .emp e where d.managerid in (select unique d.managerid

这是一个家庭作业问题的一部分,但我已经尝试了6个不同的版本,我被卡住了。 每次查询运行时,我都在尝试查找1个管理器。例如,我输入部门id,然后弹出一个名称。目前,我多次得到了所有的名字。我尝试了一个带有“=”的嵌套,但没有嵌套、并集、交集等。我可以通过一个基本查询获取管理器id,但无法获取名称。当前版本如下所示:

select e.ename
from .emp e
where d.managerid in (select unique  d.managerid
                      from  works w, .dept d, emp e1
where d.did=1 and e1.eid=w.eid and d.did=w.did );

我意识到这可能是我没有看到的一个基本错误——有什么想法吗?

不清楚什么是你说的任何时候都可以得到一个动物园。应该是不同的动物园还是相同的动物园

否则,请抛出您的查询:

  • 您可以从下一个查询数据集中的表
    emp
    where manager\u id中选择所有empolies
  • 您可以获得
    dep=1
    的所有管理器。其余的表和条件对结果数据集没有影响
  • 输入
    did
    是表
    dept
    的主键,如果是这样,您的查询可能会被重写为

    select e.ename
    from emp e
    where d.managerid in (select unique  d.managerid
                          from  dept d
                          where d.did=1);
    
    但此查询返回给所有员工,而不是dept=1的经理 如果你需要一个经理。你应该找一位经理。如果
    eid
    是employee的主键,而
    managerid
    是employee表中的
    id
    ,则需要如下内容:

    select e.ename
    from emp e
    where e1.eid in (select unique  d.managerid
                          from  dept d
                          where d.did=1);