sql递归查询处理树状结构数据,适用于sqlserver和oracle

在工作中用到根据某个组织的ID,查询当前所有的上级,并按层级返回

递归语法:

以with开头,再以2个查询用 union all连接,且2个查询列表字段和类型返回必须一致

向上查询数据,oo是最终返回的表,也可以写为with oo as ....

但是不能写为 with oo(FID,fname_l2 ,FPARENTID) 去掉某一个列表字段的值

会报错显示SQL 错误 [8158] [S0001]: 'oo' 中的列多于列列表中指定的列。

复制代码
--向上
   with oo(FID,fname_l2 ,FPARENTID,FLEVEL) as
        (
            SELECT
                org.FID,
                org.fname_l2,
                org.FPARENTID,
                org.FLEVEL
            FROM
                T_ORG_ADMIN org
            where
                org.fnumber = 'tymatest1'
                
           union all
            select
                t.FID,
                t.fname_l2,
                t.FPARENTID,
                t.FLEVEL
            from
                T_ORG_ADMIN t
            join oo on oo.FPARENTID = t.FID
        )
        SELECT
        	distinct *
        FROM
        oo

join oo on oo.FPARENTID = t.FID 代表2个表之间的连接关系,向上查询

以下语句代表向下查询

join oo on oo.fid = t.FPARENTID 代表2个表之间的连接关系,向下查询

复制代码
 with oo as
        (
            SELECT
                org.FID,
                org.fname_l2,
                org.FPARENTID,
                org.FLEVEL
            FROM
                T_ORG_ADMIN org
            where
                org.fnumber = 'tymatest1'
                
           union all
            select
                t.FID,
                t.fname_l2,
                t.FPARENTID,
                t.FLEVEL
            from
                T_ORG_ADMIN t
            join oo on oo.fid = t.FPARENTID
        )
        SELECT
        	distinct *
        FROM
        oo        
相关推荐
爬山算法1 分钟前
MongoDB(1)什么是MongoDB?
数据库·mongodb
Nandeska8 分钟前
17、MySQL InnoDB ReplicaSet
数据库·mysql
AI_56788 分钟前
SQL性能优化全景指南:从量子执行计划到自适应索引的终极实践
数据库·人工智能·学习·adb
hlABgYML20 分钟前
基于NGSIM数据的Wiedemann99跟驰模型标定
mysql
kali-Myon26 分钟前
2025春秋杯网络安全联赛冬季赛-day1
java·sql·安全·web安全·ai·php·web
数据知道37 分钟前
PostgreSQL 性能优化:分区表实战
数据库·postgresql·性能优化
静听山水1 小时前
StarRocks表模型详解
数据库
静听山水1 小时前
Redis核心数据结构-Set
数据结构·数据库·redis
墨理学AI1 小时前
一文学会一点python数据分析-小白原地进阶(mysql 安装 - mysql - python 数据分析 - 学习阶段梳理)
python·mysql·数据分析
数研小生1 小时前
亚马逊商品列表API详解
前端·数据库·python·pandas