【发布时间】:2019-07-31 22:36:57
【问题描述】:
假设我有一个员工表,其中包含公司中每个员工的记录,以及主管列(如下所示)。我想准备一份报告,其中列出了监管行中每个步骤的名称和标题。例如,对于 dick robbins,1d #15,我想要一份他的“指挥链”中每个主管的名单,一直到总统,大奶酪。我想避免使用游标,但如果这是唯一的方法,那没关系。
id fname lname title supervisorid
1 big cheese president 1
2 jim william vice president 1
3 sally carr vice president 1
4 ryan allan senior manager 2
5 mike miller manager 4
6 bill bryan manager 4
7 cathy maddy foreman 5
8 sean johnson senior mechanic 7
9 andrew koll senior mechanic 7
10 sarah ryans mechanic 8
11 dana bond mechanic 9
12 chris mcall technician 10
13 hannah ryans technician 10
14 matthew miller technician 11
15 dick robbins technician 11
真正的数据可能不会超过 10 层深...但我宁愿不只是做 10 次外部联接...我希望有比这更好的东西,而且比游标少涉及。
感谢您的帮助。
【问题讨论】:
-
你可能对我的问题感兴趣:stackoverflow.com/questions/3471134/…
-
你的数据有点问题,记录id 1 不能有 supervisorid=1 会破坏CTE表
标签: sql sql-server sql-server-2008