我有一个需要运行的例程的列表,还有一个表,用于定义一个例程是否依赖于其他例程的成功完成。因此,例如:
| RoutineID | DependentRoutineID |
| --------- | ------------------ |
| 1 | NULL |
| 2 | 1 |
| 3 | 2 |
| 4 | 3 |
| 5 | 3 |
| 6 | 4 |
| 7 | 5 |
| 8 | NULL |
| 9 | 8 |
| 10 | 9 |
由于依赖关系的层次性质,所有例程> = 2和<= 7都取决于例程1的最高级别。我想在对每个RoutineID返回“最高” DependentRoutineID的查询中反映出来] >
| RoutineID | DependentRoutineID | | --------- | ------------------ | | 1 | NULL | | 2 | 1 | | 3 | 1 | | 4 | 1 | | 5 | 1 | | 6 | 1 | | 7 | 1 | | 8 | NULL | | 9 | 8 | | 10 | 8 |
我一直在尝试使用递归CTE来执行此操作,但效果不理想。我如何影响该查询?
我有一个需要运行的例程的列表,还有一个表,用于定义一个例程是否依赖于其他例程的成功完成。因此,例如: RoutineID | ...
在递归CTE下尝试此操作