【发布时间】:2015-03-18 18:20:14
【问题描述】:
employee_id manager_id
1 1
2 1
3 1
4 2
5 1
6 3
7 2
8 2
9 3
10 2
如何在不使用 CTE 的情况下获取emanager 的下属及其级别?
因为我们必须在 MySQL 中实现相同的功能。
输出应该是这样的
@Managerid = 1
manager_id employee_id Level
1 2 1
1 3 1
1 5 1
2 4 2
2 7 2
2 8 2
2 10 2
3 9 3
级别 1 是直接向相关经理汇报; 2级和3级……以此类推,间接汇报给经理的下属员工(也是其他员工的经理)
【问题讨论】:
-
有固定的最大关卡数吗?
-
不,先生,它必须是动态变量。
-
为什么在两个平台上都需要完全相同的查询?我们有诸如存储过程之类的东西,因此每个平台都可以针对该平台以最佳方式解决查询问题,而应用程序不必关心。
-
任何建议,想法............将是最有帮助的............
标签: sql sql-server sql-server-2008 sql-server-2012 sql-server-2014