zoukankan      html  css  js  c++  java
  • sqlserver的CTE实现递归查询

    --递归查询
    IF OBJECT_ID('DiGui','U') IS NOT NULL 
        DROP TABLE DiGui
    CREATE TABLE DiGui(
    Id VARCHAR(50),
    ParentId VARCHAR(50)
    )
    INSERT INTO dbo.DiGui( Id, ParentId )
    select '第三层','第一层'
    union select '第二层','第一层'
    union select '第四层','第一层'
    union select '第十层','第二层'
    union select '第九层','第二层'
    union select '第八层','第五层'
    union select '第二十层','第四层'
    union select '第二十二层','第四层'
    union select '第三十层','第二十层'
    union select '第三十二层','第二十层'
    union select '第四十层','第三十层'
    union select '第四十二层','第三十层'
    union select '第五十层','第四十层'
    union select '第五十二层','第四十层'
    union select '第八十层','第五十层'
    union select '第八十二层','第五十层'
    union select '第一百层','第九十层'
    union select '第一百零二层','第九十层'
    
    ;with temp
    as
    (
    select Id, parentid
    from DiGui
    where [parentid] = '第一层'
    union all
    select a.Id, a.parentid
    from DiGui a
    inner join temp on a.[parentid] = temp.[Id]
    )
    select * from temp
  • 相关阅读:
    十天冲刺
    《构建之法》阅读笔记04
    每周学习进度第九周
    构建之法阅读笔记03
    返回一个一维整数数组中最大子数组的和(2)
    学习进度条
    冲刺日志05
    冲刺日志04
    冲刺日志03
    冲刺日志02
  • 原文地址:https://www.cnblogs.com/xiaozhi1236/p/6874848.html
Copyright © 2011-2022 走看看