SqlServer中怎么利用公用表表达式实现无限级树形构建
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,SqlServer中怎么利用公用表表达式实现无限级树形构建,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SQL Server 200
千家信息网最后更新 2026年11月03日SqlServer中怎么利用公用表表达式实现无限级树形构建
SqlServer中怎么利用公用表表达式实现无限级树形构建,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
SQL Server 2005开始,我们可以直接通过CTE来支持递归查询,CTE即公用表表达式
公用表表达式(CTE),是一个在查询中定义的临时命名结果集将在from子句中使用它。每个CTE仅被定义一次(但在其作用域内可以被引用任意次),并且在该查询生存期间将一直生存。可以使用CTE来执行递归操作。
DECLARE @Level INT=3;WITH cte_parent(CategoryID,CategoryName,ParentCategoryID,Level)AS( SELECT category_id,category_name,parent_category_id,1 AS Level FROM TianShenLogistic.dbo.ProductCategory WITH(NOLOCK) WHERE category_id IN ( SELECT category_id FROM TianShenLogistic.dbo.ProductCategory WHERE parent_category_id=0 ) UNION ALL SELECT b.category_id,b.category_name,b.parent_category_id,a.Level+1 AS Level FROM TianShenLogistic.dbo.ProductCategory b INNER JOIN cte_parent a ON a.CategoryID = b.parent_category_id)SELECT CategoryID AS value, CategoryName as label, ParentCategoryID As parentId, LevelFROM cte_parent WHERE Level <=@Level;public static ListGetLogisticsCategoryByParent(int? level) { if (level < 1) return null; var dataResult = CategoryDA.GetLogisticsCategoryByParent(level); var firstlevel = dataResult.Where(d => d.level == 1).ToList(); BuildCategory(dataResult, firstlevel); return firstlevel; } private static void BuildCategory(List allCategoryList, List categoryList) { foreach (var category in categoryList) { var subCategoryList = allCategoryList.Where(c => c.parentId == category.value).ToList(); if (subCategoryList.Count > 0) { if (category.children == null) category.children = new List (); category.children.AddRange(subCategoryList); BuildCategory(allCategoryList, category.children); } } }
关于SqlServer中怎么利用公用表表达式实现无限级树形构建问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
表达式
公用
问题
查询
树形
更多
递归
帮助
解答
易行
简单易行
作用
内容
子句
小伙
小伙伴
方法
知识
篇文章
结果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡
疫情对互联网科技公司影响
互联网与科技金融数据
互联网科技公司官网
互联网科技的英文
深圳齐家互联网科技
壕鑫互联网络科技
菲比寻常互联网科技
互联网科技公司介绍
互联网科技咨询
温州喔噻互联网科技有限公司
中化能源互联网科技招聘
移动互联网科技公司
崇明区互联网教育科技售后服务
米聚互联网科技南京有限公司排面
互联网与数字科技关系
容联科技互联网电商
易租星互联网科技有限公司
互联网对科技影响
互联网科技大会大佬
互联网电商科技
喔噻互联网科技
深圳互联网络科技有限公司
艾特科技互联网
语蝶互联网科技有限公司
深圳市优智互联网科技有限公司
银川新华互联网科技学校联系电话
互联网科技圈年度人物
普陀区互联网教育科技管理办法
科技互联网专业工作会议发言稿