电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

数据库操作之——二维表如何按树状展开

来源:金蝶云社区作者:金蝶2024-09-161

数据库操作之——二维表如何按树状展开

场景是这样子的,进入星空,我们看到功能是这样分布的:

领域-模块-功能分组-功能,那么我们要如何获得这个功能分布的树状图呢?

第一步:获取所有功能及功能所属分组、所属模块、所属领域

--二维表数据
select ROW_NUMBER() over (order by  g2.FSEQ,f.FSEQ,c2.FSEQ,c.fname,a.FSEQ)*10 fseq, g.FNAME FNAME1, e.FNAME FNAME2,c.FNAME FNAME3,b.FNAME FNAME4
into #tmp001
from T_META_CONSOLEDETAIL a  join T_META_CONSOLEDETAIL_L b on a.FDETAILFUNCID=b.FDETAILFUNCID and  FLOCALEID=2052 
join T_META_CONSOLESUBFUNC_L c on c.FLOCALEID=2052 and a.FSUBFUNCID=c.FSUBFUNCID
join T_META_CONSOLESUBFUNC c2 on c.FSUBFUNCID=c2.FSUBFUNCID
join T_META_OBJECTTYPE d on a.FOBJECTID=d.FID
join T_META_SUBSYSTEM_L e on d.FSUBSYSID=e.FID and e.FLOCALEID=2052 
join  T_META_SUBSYSTEM f on e.FID=f.FID 
join T_META_TOPCLASS_L g on  f.FTOPCLASSID=g.FTOPCLASSID
join T_META_TOPCLASS g2 on g.FTOPCLASSID=g2.FTOPCLASSID
order by g2.FSEQ,f.FSEQ,c2.FSEQ,c.FNAME,a.FSEQ
select * from  #tmp001 order by fseq

结果如图:

image.webp

第二步:转换方案

按照树形图的方式,应该是这样子的展示方式:

财务会计

     总账

           基础资料

                  促销费用项目

            总账工作台

                  总账数字看板

                   总账初始化指引工作台

             凭证管理

                   ......

即fname1、fname2、fname3、fname4按特定顺序排列。

第一个想法是按照游标进行处理,按顺序遍历每一行,使用八个变量,分别存储最新行的fname和上一行的fname。每一次遍历,从fname1对应的变量开始比较,当前行fname1和上一行fname1不同,则写入fname1和后面的fname2、fname3、fname4,如果当前行fname1和上一行fname1相同,则比较fname2,处理方式类似fname1,直到比较完fnam

数据库操作之——二维表如何按树状展开

场景是这样子的,进入星空,我们看到功能是这样分布的:领域-模块-功能分组-功能,那么我们要如何获得这个功能分布的树状图呢?第一步:获取...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信