给定下表(Postgres格式):
| 员工ID|员工姓名|经理ID|
| - ------|- ------|- ------|
| 1个|大卫|零|
| 第二章|杰西卡|零|
| 三个|格雷格|1个|
| 四个|乔|三个|
| 五个|布兰登|零|
| 六个|莱斯利|四个|
| 七|哈里|六个|
| 八个|保罗|零|
| 九|法兰克|五个|
从**员工ID 7(Harry)**开始-如何在层次结构中自下而上仅列出记录,直到到达最终经理(在本例中,应该是大卫)?我应该使用递归CTE吗?如果是,该查询看起来如何?
预期产出:
| 员工ID|员工姓名|经理ID|
| - ------|- ------|- ------|
| 1个|大卫|零|
| 三个|格雷格|1个|
| 四个|乔|三个|
| 六个|莱斯利|四个|
| 七|哈里|六个|
1条答案
按热度按时间cgvd09ve1#
在公用表表达式中,您可以识别:
当
INNER JOIN
不再返回任何额外记录时,递归停止。检查here演示。