Sql 递归查询
我有一个包含以下字段的表Sql 递归查询,sql,recursive-query,Sql,Recursive Query,我有一个包含以下字段的表 监督员 埃皮德 这就像是一个推荐计划。一个人可以指他下面的三个人,也就是说,3指的是三个人,即458,同样地,4指的是910,11,同样地,8指的是12,13,是这样的 我需要一个查询来获取Supervisor 3下的所有EmpId,您希望我们为您编写解决方案,还是解释一下递归查询是如何建立的 关于它们是如何构建的示例,请参见 IBMDB2红皮书有一整章是关于SQL递归的 要点是通常涉及以下步骤: 你定义了“种子”。从EMP中选择SUPID,EMPID,1作为LV
- 监督员
- 埃皮德
我需要一个查询来获取Supervisor 3下的所有EmpId,您希望我们为您编写解决方案,还是解释一下递归查询是如何建立的 关于它们是如何构建的示例,请参见 IBMDB2红皮书有一整章是关于SQL递归的 要点是通常涉及以下步骤:
- 你定义了“种子”。从EMP中选择SUPID,EMPID,1作为LVL,其中SUPID=3
- 您可以为其指定一个名称。以SRC为例
- 您可以使用指定的名称定义从种子开始进入“下一级”的方式。从SRC,EMP中选择SRC.SUPID,F.EMPID,SRC.LVL+1,其中SRC.EMPID=EMP.SUPID
- 将这两者结合在一起(在WITH子句中),SRC作为UNION ALL
- (可选)定义要选择的列。从SRC中选择EMPID、LVL