zoukankan      html  css  js  c++  java
  • sqlserver递归查询数据

    查询所有的:select Name,BusinessUnitId,ParentBusinessUnitId,ParentBusinessUnitIdName from BusinessUnit

    --查询某一节点的所有子节点

    with cte(Name,BusinessUnitId,ParentBusinessUnitId,ParentBusinessUnitIdName)
    as
    (
    select Name,BusinessUnitId,ParentBusinessUnitId,ParentBusinessUnitIdName from BusinessUnit where Name='会员管理与服务部'
    union all
    select b.Name,b.BusinessUnitId,b.ParentBusinessUnitId,b.ParentBusinessUnitIdName
    from cte A ,BusinessUnit B where B.ParentBusinessUnitId = A.BusinessUnitId and A.ParentBusinessUnitId <>B.BusinessUnitId
    )
    select Name,BusinessUnitId,ParentBusinessUnitId,ParentBusinessUnitIdName
    from cte
    OPTION(MAXRECURSION 0)

    --查询某一节点的所有父节点
    with cte (Name,BusinessUnitId,ParentBusinessUnitId,ParentBusinessUnitIdName)
    as
    (
    select Name,BusinessUnitId,ParentBusinessUnitId,ParentBusinessUnitIdName from BusinessUnit where Name='会员管理与服务部'
    union all
    select b.Name,b.BusinessUnitId,b.ParentBusinessUnitId,b.ParentBusinessUnitIdName
    from cte A ,BusinessUnit B where a.ParentBusinessUnitId = b.BusinessUnitId and a.ParentBusinessUnitId <> a.BusinessUnitId
    )
    select Name,BusinessUnitId,ParentBusinessUnitId,ParentBusinessUnitIdName
    from cte
    OPTION(MAXRECURSION 0)
  • 相关阅读:
    5、视图
    4、数据更新
    3、聚合与排序
    2、查询基础
    1、数据库和SQL
    Day-13:组合查询
    Day-12:创建高级联结
    Day-11:联结表
    Day-10:使用子查询
    Day-9:分组数据
  • 原文地址:https://www.cnblogs.com/jamin/p/2762488.html
Copyright © 2011-2022 走看看