zoukankan      html  css  js  c++  java
  • oracle中的sql用递归查询树格式数据

    1.查询当前节点的子类

    WITH cte_child (
        GRID_ID,
        GRID_NAME,
        PARENT_GRID_CODE
    ) AS (
        --起始条件
        SELECT
            GRID_ID,
            GRID_NAME,
            PARENT_GRID_CODE
        FROM
            T_SG_GRID
        WHERE
            GRID_ID = '2' --列出父节点查询条件
        UNION ALL
            --递归条件
            SELECT
                A .GRID_ID,
                A .GRID_NAME,
                A .PARENT_GRID_CODE
            FROM
                T_SG_GRID A
            INNER JOIN cte_child b ON (
                A .PARENT_GRID_CODE = b.GRID_ID
            )
    ) 
    SELECT
        *
    FROM
        cte_child;

    2.查询当前节点的父类

    WITH cte_child (
        GRID_ID,
        GRID_NAME,
        PARENT_GRID_CODE
    ) AS (
        --起始条件
        SELECT
            GRID_ID,
            GRID_NAME,
            PARENT_GRID_CODE
        FROM
            T_SG_GRID
        WHERE
            GRID_ID = '2' --列出父节点查询条件
        UNION ALL
            --递归条件
            SELECT
                A .GRID_ID,
                A .GRID_NAME,
                A .PARENT_GRID_CODE
            FROM
                T_SG_GRID A
            INNER JOIN cte_child b ON (
                A .GRID_ID = b.PARENT_GRID_CODE
            )
    ) SELECT
        *
    FROM
        cte_child;

    也就是把查询条件换了一个位置而已

    世间种种的诱惑,不惊不扰我清梦
  • 相关阅读:
    1. 加载文件的方法
    9. 位运算符
    8. 条件(条目,三元)运算符
    3. PHP比较运算符
    hdu3336 Count the string
    Codeforces Round #228 (Div. 2)
    hdu4288 Coder(线段树单点更新)
    hdu2852 KiKi's K-Number
    poj1195
    poj2299
  • 原文地址:https://www.cnblogs.com/javalisong/p/13497728.html
Copyright © 2011-2022 走看看