zoukankan      html  css  js  c++  java
  • SQL根据指定节点ID获取所有父级节点和子级节点

    --根据指定节点ID获取所有子节点--
    WITH TEMP AS
    (
    SELECT * FROM table_name WHERE Id='4' --表的主键ID
    UNION ALL
    SELECT T0.* FROM TEMP,table_name T0 WHERE TEMP.Id=T0.ParentId --子级ID==父级ID
    )
    SELECT * FROM TEMP;
    
    
    --根据指定节点ID获取所有父节点--
    WITH TEMP AS
    (
    SELECT * FROM table_name WHERE Id='32' --表的主键ID
    UNION ALL
    SELECT T0.* FROM TEMP,table_name T0 WHERE TEMP.ParentId=T0.Id --父级ID==子级ID
    )
    SELECT * FROM TEMP;


    --多个WITH AS组合使用场景

    WITH TEMP AS
    (
    SELECT
    *
    FROM cb_DbSpecialTarget WHERE DbSpecialTargetName LIKE '%砌块含量指标%' AND DbSpecialTargetType=1
    UNION ALL
    SELECT
    T0.*
    FROM TEMP,cb_DbSpecialTarget T0 WHERE TEMP.ParentGUID=T0.DbSpecialTargetGUID
    )
    ,
    TEMP2 AS
    (
    SELECT *
    FROM cb_DbSpecialTarget WHERE DbSpecialTargetName LIKE '%砌块含量指标%' AND DbSpecialTargetType=1
    UNION ALL
    SELECT
    T0.*
    FROM TEMP2,cb_DbSpecialTarget T0 WHERE TEMP2.DbSpecialTargetGUID=T0.ParentGUID
    )

    SELECT * FROM TEMP
    UNION
    SELECT * FROM TEMP2 ORDER BY HierarchySort

  • 相关阅读:
    poj 2418 Hardwood Species
    hdu 3791 二叉搜索树
    九度oj 1544 数字序列区间最小值
    九度oj 1525 子串逆序打印
    九度oj 1530 最长不重复子串
    九度oj 1523 从上往下打印二叉树
    P1190 接水问题
    P1179 数字统计
    P1083 借教室
    P1079 Vigenère 密码
  • 原文地址:https://www.cnblogs.com/fengyeqingxiang/p/10947815.html
Copyright © 2011-2022 走看看