码迷,mamicode.com
首页 > 数据库 > 详细

树形结构表查询,只用一条SQL语句查询所有父级ID解决办法

时间:2019-12-16 14:57:00      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:图片   weight   sql语句   语句   col   cms   集合   cat   div   

在树形结构表查询中用得最多的就是查询指定分类的所有下级分类,这个性能比较好的解决方案是为分类加一个编码(路径)把父级的ID都拼接上,最后通过like ‘x%‘就能把所有下级分类select出来。但是有时也会遇到反过来,找出指定分类的所有上级分类,这个情况尤其在分销或类传销的系统中最常见,因为他们分成都是上级分成,所以要找出指定人的上级集合。

下面分享一下我的解决方案(只用一条SQL语句。不用存储过程、函数):

有下面所在的新闻分类表。

技术图片

ParentID为父级的ID。

下面要找出ID为52的所有上级分类,代码如下:

;with Tree as
(
select * from CMS_NewsCategory where CID=52
union all
select a.* from CMS_NewsCategory a join Tree b on a.CID=b.ParentID
)
select * from Tree

技术图片

树形结构表查询,只用一条SQL语句查询所有父级ID解决办法

标签:图片   weight   sql语句   语句   col   cms   集合   cat   div   

原文地址:https://www.cnblogs.com/ashbur/p/12048937.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!