Oracle Sql 查询以获取经理与员工的关系

Posted

技术标签:

【中文标题】Oracle Sql 查询以获取经理与员工的关系【英文标题】:Oracle Sql query to get manager to employee relation 【发布时间】:2012-08-28 10:22:08 【问题描述】:

我有一个这样的表结构,其中定义了员工与经理的关系

EMP_ID SUP_ID START_DATE END_DATE emp1 sup1 2012 年 1 月 1 日 2012 年 1 月 30 日 emp1 sup2 2012 年 2 月 1 日 2012 年 2 月 28 日 emp2 sup1 2012 年 1 月 1 日 2012 年 2 月 28 日

我需要查询以获取截至 sysdate 的经理下的所有员工。

如果我在 jan 使用 mgr id sup1 执行它,它应该返回 emp1 和 emp2 如果它在 2 月,它应该只返回 emp2。

我尝试使用连接编写查询,但它不起作用,我对在哪里放置什么条件感到困惑。

【问题讨论】:

SUP_ID 的值是否与 EMP_ID 来自同一域 - 即表是否表示层次结构? 【参考方案1】:

下面的方法肯定可以吗?

select * from employees
where sysdate between start_date and end_date
and sup_id = 'sup1';

【讨论】:

【参考方案2】:
select * from employees where sup_id = 'sup1' and start_date = trunc(sysdate);

【讨论】:

以上是关于Oracle Sql 查询以获取经理与员工的关系的主要内容,如果未能解决你的问题,请参考以下文章

SQL 查询以获取每个经理下的员工的递归计数

SQL查询以递归方式获取经理下所有员工的姓名

oracle SQL查询语句

Oracle SQL 查询让所有代理直接或间接向经理报告

SQL查询按区域返回***经理

Sql Server 自加入员工经理关系