当前位置:Gxlcms > mssql > SQL获取所有上级的实现方法

SQL获取所有上级的实现方法

时间:2021-07-01 10:21:17 帮助过:165人阅读

SQL 获取所有上级的实现方法

说明:

(1)可以做成一个函数,直接调用即可;

(2) M0Org 是数据库存在的表 ,M0OrgPID 为目标表,OrgID为ID字段,PID为上级ID字段

DECLARE @OrgID NVARCHAR(36)= '00000000-0000-0000-00000002205223459'; 
 
  --获取当前机构的所有上级 放入M0OrgPID 
   WITH  M0OrgPID 
        AS ( SELECT  *, 0 AS lvl 
          FROM   M0Org 
          WHERE  OrgID = @OrgID 
          UNION ALL 
          SELECT  d.*, lvl + 1 
          FROM   M0OrgPID c 
          INNER JOIN M0Org d ON c.PID = d.OrgID ) 
 
     SELECT * FROM  M0OrgPID; 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

您可能感兴趣的文章:

  • SQL Server 使用触发器(trigger)发送电子邮件步骤详解
  • mysql处理海量数据时的一些优化查询速度方法
  • mysql数据库常见的优化操作总结(经验分享)
  • Mysql中Join的使用实例详解
  • mysql 5.7安装 MySQL 服务无法启动但是服务没有报告任何错误
  • mysql安装配置方法图文教程(CentOS7)

人气教程排行