欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQLSERVER2005 中树形数据的递归查询

程序员文章站 2023-11-09 17:46:04
问题描述。借用了adinet的问题。参见: 今天做项目遇到一个问题, 有产品分类a,b,c*分类, 期中a下面有a1,a2,a3子分类. 但是a1可能共同属于a和...
问题描述。借用了adinet的问题。参见:

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

有产品分类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