服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - SQLSERVER2005 中树形数据的递归查询

SQLSERVER2005 中树形数据的递归查询

2020-07-05 15:35SQL2005教程网 Sql Server

在园子里看到一个文章,涉及到树形数据的递归查询,觉得有更好的方法,就随手写一个,以备用之

问题描述。借用了adinet的问题。参见:http://www.zzvips.com/article/82150.html

今天做项目遇到一个问题,

有产品分类A,B,C顶级分类,

期中A下面有a1,a2,a3子分类.

但是a1可能共同属于A和B,然后我的数据库是这样设计的  

 

      id           name         parnet  
1 A 0
2 B 0
3 a1 1,2
     

 

如果想要查询A的所有子类的话就要查询parent中包含1的,所以就萌生了这个办法.呵呵,
解决方案

复制代码 代码如下:

with cte as
(select * from tb where id='1'
union all
select tb.* from tb join cte on charindex(cast(cte.id as varchar(10)),tb.parentid)>0)
select * from cte

延伸 · 阅读

精彩推荐