下拉树隔层次查询

公司架构下拉树层级数据类似这种,最底层选项是部门,不是人

image.png

因为层级不固定,所以下拉树的构建不能像demo那样用普通分层或极速分层,只能用树数据集自动构建


在只能单选一级部门的情况下,怎么查找一级部门下的所有人,包含有一级部门的人,一级部门下所有二级部门的人,如果下面还有三级,那还要包括三级部门的人。


人员的数据字段有姓名,所在部门和人所在的路径,路径内容是:集团,组织,中心,一级部门,二级部门...所在部门。


这种问题我前面问过,但可能是我描述不准确所以一直没有解决,不知道现在有没有说清楚。在此再求问各位大佬...

FineReport 18328816101 发布于 2019-12-19 14:23 (编辑于 2019-12-19 14:25)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
fofantasyLv5初级互助
发布于2019-12-19 16:24(编辑于 2019-12-19 16:26)

你这个说的还是非常不清楚啊,一般人真是看不懂。

不过我猜你是想说:

单选某个部门时,要查出”该部门以及所有子部门”中的所有人,是吧?

如果是这样的话,要看数据库结构了,如果是id、parentid这种的部门结构,需要使用递归查询。

如果是楼上发的这种结构的话,就简单一些,根据截取的字符串就可以。

至于递归查询SQL怎么写,这个就要看你的数据库是什么了。

根据父节点(部门),查询出所有子节点(子部门)。

有部门列表之后,就可以关联人员表,来查询出所有人了。

  • 18328816101 18328816101(提问者) SQL server的,是父子id的结构,虽然没有准确方法,但说明了思路,多谢
    2019-12-19 17:13 
最佳回答
1
xd4093Lv6初级互助
发布于2019-12-19 16:24

你那个有组织架构码吗 ?   如果有的化容易,选择这个部门 就把这个部门的架构码带出来比如 选择了A001001这个部门架构码        数据查询的时候   

select * from 部门  a inner join 人员 b on a.部门编号=b. 部门编号  where charindex('A001001',a.部门架构码)>0   大概就是这个意思

image.png

最佳回答
0
873282620Lv3初级互助
发布于2019-12-19 16:18

虽然没太懂,应该是这个吧
image.png

  • 4关注人数
  • 650浏览人数
  • 最后回答于:2019-12-19 16:26
    请选择关闭问题的原因
    确定 取消
    返回顶部