每个经理直接或间接工作的员工的打印数量(oracle)(print number of employee working directly or indirectly under each manag

编程入门 行业动态 更新时间:2024-10-21 23:16:45
每个经理直接或间接工作的员工的打印数量(oracle)(print number of employee working directly or indirectly under each manager(oracle))

我有一个像Employee一样的表

managername varchar2(20), salary number(10,2), empname varchar2(20), Constraint [PK_Emp] Primary key (empname), Constraint [FK_Emp] Foreign key (managername) references employee (empname) on delete cascade mangername salary empname ------ ------ -------------- "" 1000 Sumanta Sumanta 1000 Arpita Sumanta 1000 Pradip Arpita 1000 Sujon Sujon 1000 Arpan Sujon 1000 Jayanti

我想了解直接或间接在每位经理下工作的所有员工

I have a Employee table like

managername varchar2(20), salary number(10,2), empname varchar2(20), Constraint [PK_Emp] Primary key (empname), Constraint [FK_Emp] Foreign key (managername) references employee (empname) on delete cascade mangername salary empname ------ ------ -------------- "" 1000 Sumanta Sumanta 1000 Arpita Sumanta 1000 Pradip Arpita 1000 Sujon Sujon 1000 Arpan Sujon 1000 Jayanti

I want to get count of all the employees that directly or indirectly work under each manager

最满意答案

您可以使用递归CTE执行此操作:

with cte(managername, empname, level) as ( select managername, empname, 0 from employee union all select e.managername, cte.empname, level + 1 from cte join employee e on cte.managername = e.empname ) select managername, count(*) from cte group by managername;

这应该在11g第2版中工作。虽然基本相同的代码在SQL Server中工作,但它似乎在SQL Fiddle中有问题。

You can do this with a recursive CTE:

with cte(managername, empname, level) as ( select managername, empname, 0 from employee union all select e.managername, cte.empname, level + 1 from cte join employee e on cte.managername = e.empname ) select managername, count(*) from cte group by managername;

This should work in 11g Release 2. It seems to have trouble in SQL Fiddle although basically the same code works in SQL Server.

更多推荐

本文发布于:2023-08-04 08:01:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1413093.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数量   员工   经理   工作   oracle

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!