【发布时间】:2011-07-08 06:57:40
【问题描述】:
我有一个员工及其直接经理的数据库。每个员工行都有一个 ManagerId 列。如果我运行一个报告来查看哪些员工向“Bob”报告,我会在 ManagerId 列中获得具有“Bob's”ID 的员工列表。这对于找出直接向 Bob 汇报的人很好,但我想查看向 Bob 汇报的每个人或向 Bob 汇报的任何董事、经理或主管。
我该怎么做?
编辑 1 - 这是针对 SQL Server 2005 / 2008 的。我希望 Bob 手下的所有员工,而不仅仅是直接向他汇报的员工。
【问题讨论】:
-
你使用的是什么 SQL 实现?
-
我无法确定您的问题是什么。因此,您可以获取所有向 Bob 汇报的员工,但您无法获取同时向 Bob 汇报的董事、经理或主管的员工?
-
@FreeAsInBeer - 他基本上想要递归层次结构。
-
@FreeAsInBeer 他想查看 Bob 的所有下属,即使他们不是 直接 下属(即他想见向 Alice 汇报的 Mitch,Alice 向Fred,他向 Bob 汇报)。
标签: sql sql-server-2005