SQLSERVER2005 中树形数据的递归查询
程序员文章站
2022-06-11 11:04:38
问题描述。借用了adinet的问题。参见:
今天做项目遇到一个问题,
有产品分类a,b,c*分类,
期中a下面有a1,a2,a3子分类.
但是a1可能共同属于a和...
问题描述。借用了adinet的问题。参见:
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
今天做项目遇到一个问题,
有产品分类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
推荐阅读
-
在sqlserver2005中安装sql server 2000的示例数据库northwind的方法
-
用SQL语句查询数据库中某一字段下相同值的记录方法
-
数据库:MySQL实战;左链接;查询WordPress数据库中的文章内容
-
Sqlserver数据库中char、varchar、nchar、nvarchar的区别及查询表结构
-
在 Laravel 6 中缓存数据库查询结果的方法
-
mysql进阶讲解之数据表中带OR的多条件查询
-
关于MyBatis 查询数据时属性中多对一的问题(多条数据对应一条数据)
-
Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)
-
sql 查询 一张表里面的数据 在另一张表中是否存在 和 比对两个集合中的差集和交集(原创)
-
MySQL 数据库查询数据,过滤重复数据保留一条数据---(MySQL中的row_number变相实现方法)