DB2中递归汇总的疑难:递归查询后如何关联另一张表进行汇总
DB2中递归汇总的疑难:递归查询后怎么关联另一张表进行汇总
有2张表
1:部门结构表,字段
deptid 部门号
pid 上级部门号
level 部门层级
所有部门最终归属一个level为1的部门,其他部门的level值按层级递增
2:员工部门关系表,字段
eid 员工号
deptid 部门号
2张表通过部门号deptid关联
我需要统计所有level为2的部门的下属员工数 包括2级部门的所有下级部门(递归的)
求高手帮助
------解决方案--------------------
有2张表
1:部门结构表,字段
deptid 部门号
pid 上级部门号
level 部门层级
所有部门最终归属一个level为1的部门,其他部门的level值按层级递增
2:员工部门关系表,字段
eid 员工号
deptid 部门号
2张表通过部门号deptid关联
我需要统计所有level为2的部门的下属员工数 包括2级部门的所有下级部门(递归的)
求高手帮助
------解决方案--------------------
- SQL code
WITH TEMP(DEPTID,PID,LEVEL) AS ( SELECT DEPTID,PID,LEVEL FROM DB2ADMIN.DEPT WHERE LEVEL=2 UNION ALL SELECT D.DEPTID,D.PID,D.LEVEL FROM TEMP,DB2ADMIN.DEPT D WHERE D.PID=TEMP.DEPTID ) SELECT COUNT(E.EID) AS EMPCOUNTS FROM TEMP LEFT JOIN DB2ADMIN.EMP E ON TEMP.DEPTID=E.DEPTID