当前位置: 首页 > 面试题库 >

计算直接或间接向经理报告的所有下属

谭俊
2023-03-14
问题内容

我有一个任务有问题。

我需要计算直接或间接向特定经理报告的所有下属(与众不同)

我有一个Employee这样的表:

EMPLOYEE_ID Int,
MANAGER_ID Int,
EMPLOYEE_NAME varchar(200)

例子:

            Alex(1)
    --------------------
    Jhon(2)          Kevin(3)
------------------------------
Mike(4) Amanda(5)  Tom(6) Jery(7)

我只能算直接向经理汇报的员工:

SELECT 
    MANAGER_ID
   ,COUNT(MANAGER_ID) as SubCount
FROM [dbo].[EMPLOYEE]
GROUP BY MANAGER_ID

但是结果是我有这样的事情:

Manager_ID | SubCount
----------------------
1          | 2
2          | 2
3          | 2
----------------------

反而:

Manager_ID | SubCount
----------------------
1          | 6
2          | 2
3          | 2
----------------------

如果有任何建议或想法,我将很高兴。


问题答案:
declare @t table(EMPLOYEE_ID Int,
MANAGER_ID Int,
EMPLOYEE_NAME varchar(200))
insert @t values(1,null,'Alex'),(2,1,'Jhon'),(3,1,'Kevin'),
(4,2,'Mike'),(5,2,'Amanda'),(6,3,'Tom'),(7,3,'Jerry')

;with a as
(
select EMPLOYEE_ID boss,EMPLOYEE_ID from @t t
  where exists (select 1 from @t where t.EMPLOYEE_ID = MANAGER_ID)
union all
select a.boss, t.EMPLOYEE_ID
from @t t join a on t.MANAGER_ID = a.EMPLOYEE_ID
)
--subtracting 1 because it is also counting the manager
select boss, count(*)-1 SubCount from a group by boss
option (maxrecursion 20)


 类似资料:
  • 问题内容: 我有一个员工表 我想让所有直接或间接向Sumanta或emp_id(1)报告并具有层次结构级别的员工,如下所示: 我是SQL的新手,只是找不到使用什么或如何获得这些结果。是否值得使用具有表值变量的存储过程,或者仅使用Tsql选择查询就足够了。任何帮助都是最欢迎的。 我所做的就是- 但这是准确的,直到2级,我什至无法生成hierarchy_level。任何建议,想法...........

  • 问题内容: 我为城市建立了邻接矩阵,并在它们之间建立了联系。例如AB,BC,CD。现在,我想知道是否可以计算未连接的城市之间的距离。是否可以计算未连接节点之间的矩阵距离并找到路径? 城市班 主要方法 这是我运行main方法时的输出,我认为一切都很好。 现在我想计算从A到D的距离,但我不知道该怎么做。我将不胜感激。谢谢! 问题答案: 要在加权图中找到最短路径(路线的每个部分都有不同的权重),可以使用

  • 报告级的 API 接口,需要用户参数、应用参数和报告参数,所需参数、获取数据与 百度移动统计 站点的报告数据一致,具体接口如下: 接口 https://openapi.baidu.com/rest/2.0/mtj/svc/app/getDataByKey 参数说明: 每个查询均需要用户参数,应用参数,报告参数三个分类的参数,其中标记为必须的,每个查询都需要带有。 用户参数 参数名 类型 是否必须

  • 使用指南 - 数据报告 - 来源分析 - 外部链接报告简介 点击外部链接报告可以查看具体是哪些网站带来的流量。 外部链接中出现“其它”的主要原因是日志记录已达到数据库上限。报告中的每条记录都会存储在固定大小的数据库中,当到达此限制,同时又为获取完整的流量数据,百度统计便会将多余的记录统一放入“其它”中。

  • 有没有办法告诉HttpServletRequest如果一个请求是通过Apache AJP连接器或直接 senario我们有一些用户访问tomcat通过互联网上的访问是 网址:8443-- 在内部网上时,客户管理员已经将网址映射到tomcat,以便 网址:8443-- 所以broswer的URL是相同的网址:8443,所以从URL中无法判断它是通过apache还是直接到tomcat

  • 上下文:Adwords、XML、REST 我们最近发生了一件最奇怪的事情:我们发送了一个报告请求(在一大批相关请求中),要求一个帐户性能报告,并收到了一个Ad性能报告。此外,报告请求指定了一天,但结果指定了一个天数范围。 这是回来的。 是的,数据似乎有些混乱。但是,REST调用的状态代码是200,因此报告数据被认为是正确的。随后的处理揭示了故障。 这是我们多年来第一次遇到这种情况,我们一直在发送这