服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - SQL 获取所有上级的实现方法

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

2020-05-19 14:07MSSQL教程网 Sql Server

这篇文章主要介绍了SQL 获取所有上级的实现方法的相关资料,需要的朋友可以参考下

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

说明:

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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;

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

原文链接:http://blog.csdn.net/u013816709/article/details/61923130

延伸 · 阅读

精彩推荐