
需求如下:
1、组织有分级,如何通过查询把组织的最终节点给找到;
数据如下
业务部门表
部门代码 部门名称 上级部门代码 是否明细
1 A 0
1.1 B 1 0
1.1.1 C 1.1 1
1.1.2 AC 1.1 1
1.1.3 AE 1.1 1
1.1.4 ABB 1.1 1
2 E 0
2.1 B 2 0
2.1.1 C 2.1 1
2.1.2 AC 2.1 1
2.1.3 AE 2.1 1
2.1.4 ABB 2.1 1
财务组织表
财务组织代码 财务组织名称 上级财务组织代码 是否明细
SA 集团 NULL 0
1 A SA 1
2 E SA 1
期望的查询结果如下:
组织代码 组织名称 上级组织代码 上级组织名称
1.1.1 C 1 A
1.1.2 AC 1 A
1.1.3 AE 1 A
1.1.4 ABB 1 A
2.1.1 C 2 E
2.1.2 AC 2 E
2.1.3 AE 2 E
2.1.4 ABB 2 E
部门组织的
而用递归得到的结果是
组织代码 组织名称 上级组织代码 上级组织名称
1.1.1 C 1.1 B
1.1.2 AC 1.1 B
1.1.3 AE 1.1 B
1.1.4 ABB 1.1 B
2.1.1 C 2.1 B
2.1.2 AC 2.1 B
2.1.3 AE 2.1 B
2.1.4 ABB 2.1 B
部门表和财务组织表二者编码相同
递归的结果找到的是自身的上级,而不是根节点的上级。
如何能够获取到最上级属于明细的财务组织