我们假设我有一张代表员工的人员表和他们之间的关系(老板,下属)。但是没有单个根元素(有超过1行没有键指向boss)。我可以写一个sql语句,对于特定的人告诉我谁是他的顶级主管?
这是示例表
id, boss_fk
1
2 1
3
4 2
5 4
6 3
因此,例如,对于员工id = 6,它应该是3,而id = 5则应该是1(因为5-> 4->> 2-> 1)。
答案 0 :(得分:0)
上一次DB2-IDUG webminar讨论了DB2中的递归操作:http://www.idug-db2.com?commid=105565
或者,如果您愿意,可以创建递归存储过程:https://www.ibm.com/developerworks/community/blogs/SQLTips4DB2LUW/entry/recursive_sql_pl?lang=en_us