【泛微E9】查询部门的部门层级以及所有上级部门

news/2024/11/15 8:56:51/文章来源:https://www.cnblogs.com/oeuvres/p/18430136

效果图如下:

field1:一级部门
field2:二级部门
field3:三级部门
field4:四级部门
field5:五级部门
field6:六级部门

创建视图,view_bmcjpath
视图定义如下:

WITH RECURSIVE department_tree (id, DEPARTMENTMARK, supdepid, depth, path) AS (  -- 初始化查询(非递归部分)  SELECT     id,     DEPARTMENTMARK,     supdepid,    1 AS depth,    CAST(id AS CHAR(200)) AS path    FROM hrmdepartment    WHERE canceled IS NULL OR canceled <> 1  UNION ALL  -- 递归查询部分  SELECT     D.id,    D.DEPARTMENTMARK,     D.supdepid,    dt.depth + 1 AS depth,     CONCAT(dt.path, ',', D.id) AS path    FROM hrmdepartment D     JOIN department_tree dt ON D.supdepid = dt.id    WHERE D.canceled IS NULL OR D.canceled <> 1  
),  
ranked_departments AS (  SELECT     *,    ROW_NUMBER() OVER (PARTITION BY id ORDER BY depth DESC) AS rn    FROM department_tree    
)  
-- 选择每个id对应depth最大的记录,并应用字段选择逻辑  
SELECT     id,      DEPARTMENTMARK,      supdepid,depth,path,SUBSTRING_INDEX(SUBSTRING_INDEX(path, ',', 1), ',', -1) AS field1,      IF(LENGTH(path) - LENGTH(REPLACE(path, ',', '')) >= 1, SUBSTRING_INDEX(SUBSTRING_INDEX(path, ',', 2), ',', -1), NULL) AS field2,    IF(LENGTH(path) - LENGTH(REPLACE(path, ',', '')) >= 2, SUBSTRING_INDEX(SUBSTRING_INDEX(path, ',', 3), ',', -1), NULL) AS field3,    IF(LENGTH(path) - LENGTH(REPLACE(path, ',', '')) >= 3, SUBSTRING_INDEX(SUBSTRING_INDEX(path, ',', 4), ',', -1), NULL) AS field4,    IF(LENGTH(path) - LENGTH(REPLACE(path, ',', '')) >= 4, SUBSTRING_INDEX(SUBSTRING_INDEX(path, ',', 5), ',', -1), NULL) AS field5,    IF(LENGTH(path) - LENGTH(REPLACE(path, ',', '')) >= 5, SUBSTRING_INDEX(SUBSTRING_INDEX(path, ',', 6), ',', -1), NULL) AS field6    
FROM ranked_departments    
WHERE rn = 1  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/803350.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows 10 on ARM, version 22H2 (updated Sep 2024) ARM64 AArch64 中文版、英文版下载

Windows 10 on ARM, version 22H2 (updated Sep 2024) ARM64 AArch64 中文版、英文版下载Windows 10 on ARM, version 22H2 (updated Sep 2024) ARM64 AArch64 中文版、英文版下载 基于 ARM 的 Windows 10 请访问原文链接:https://sysin.org/blog/windows-10-arm/,查看最新版…

macOS 15 Blank OVF - macOS Sequoia 虚拟化解决方案

macOS 15 Blank OVF - macOS Sequoia 虚拟化解决方案macOS 15 Blank OVF - macOS Sequoia 虚拟化解决方案 适用于 VMware ESXi 和 VMware Workstation 的 macOS Sequoia 虚拟化模板 请访问原文链接:https://sysin.org/blog/macos-15-ovf/,查看最新版。原创作品,转载请保留出…

ArgoWorkflow教程(五)---Workflow 的多种触发模式:手动、定时任务与事件触发

上一篇我们分析了argo-workflow 中的 archive,包括 流水线GC、流水线归档、日志归档等功能。本篇主要分析 Workflow 中的几种触发方式,包括手动触发、定时触发、Event 事件触发等。1. 概述 Argo Workflows 的流水线有多种触发方式:手动触发:手动提交一个 Workflow,就会触发…

从零开始学机器学习——了解回归

在本文中,我们探讨了回归分析在统计学和数据分析中的重要性和应用。线性回归和逻辑回归作为两种主要的回归分析方法,分别适用于不同类型的数据建模和预测需求。通过数学建模,它们能够揭示变量之间的关系,并且在实际应用中展现了强大的预测能力。首先给大家介绍一个很好用的…

大模型应用曙光 - 10X压缩技术

关注TechLead,复旦AI博士,分享AI领域全维度知识与研究。拥有10+年AI领域研究经验、复旦机器人智能实验室成员,国家级大学生赛事评审专家,发表多篇SCI核心期刊学术论文,上亿营收AI产品研发负责人。如何在不牺牲性能的情况下将大型语言模型缩小十倍 虽然LLM的巨大规模赋予了…

绝缘手套穿戴智能识别系统

绝缘手套穿戴智能识别系统通过opencv深度学习技术赋能现场摄像头,绝缘手套穿戴智能识别系统对现场电力作业人员在带电设备上作业施工时有没有按厂区要求佩戴绝缘手套进行识别检测,当绝缘手套穿戴智能识别系统检测到现场电力作业人员违规行为即未佩戴绝缘手套时立刻抓拍告警,…

智慧工地安全帽智能识别系统

智慧工地安全帽智能识别系统通过opencv深度学习技术,智慧工地安全帽智能识别系统可自动检测识别作业现场人员有没有戴安全帽,当智慧工地安全帽智能识别系统检测出现场施工作业人员没有按照要求戴安全帽时,立即抓拍存档并同步回传违规数据到后台监控大数据平台,并提醒后台人…

煤矿人员工服着装智能识别监测系统

煤矿人员工服着装智能识别监测系统在摄像头监控画面中自动检测作业人员是否正确着装,煤矿人员工服着装智能识别监测系统若发现有现场作业人员没有按要求正确佩戴安全帽、穿着工服,煤矿人员工服着装智能识别监测系统会立即抓拍存档回传后台大数据监控管理平台,现场同时进行语…

Ai检测人员穿衣规范系统

Ai检测人员穿衣规范系统可以通过yolo深度学习技术对现场画面中人员穿衣自动检测,Ai检测人员穿衣规范系统发现现场作业人员未正确按要求穿衣服如穿戴安全带、手套、安全帽、胶鞋、反光衣,Ai检测人员穿衣规范系统会进行语音播报提醒,并将违规行为截图回传给后台大数据平台进行…

车辆逆行识别检测系统

车辆逆行识别检测系统通过yolo网络深度学习技术,车辆逆行识别检测系统对监控画面中车辆逆向行驶行为进行检测,若车辆逆行识别检测系统检测到道路上有车辆逆向行驶时,车辆逆行识别检测系统则抓拍预警。车辆逆行识别预警系统提升传统监控的事后被动查询,真正做到事前主动抓拍…

工厂安全着装识别检测系统

工厂安全着装识别检测系统通过python+opencv技术,工厂安全着装识别检测系统对前端摄像机监控画面中的工厂人员着装穿戴进行实时分析检测,如果工厂安全着装识别检测系统识别出现场人员未按工厂要求正确着装,工厂安全着装识别检测系统会自动抓拍存档告警,同步回传给后台大数据…

Cisco ASA 9.22.1 发布下载,新增功能概览

Cisco ASA 9.22.1 发布下载,新增功能概览Cisco ASA 9.22.1 - 思科自适应安全设备 (ASA) 软件 Cisco Adaptive Security Appliance (ASA) 请访问原文链接:https://sysin.org/blog/cisco-asa/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org新增功能 重要说明AS…