SQLSERVER2005 中树形数据的递归查询
更新时间:2011年10月25日 15:40:13 作者:
在园子里看到一个文章,涉及到树形数据的递归查询,觉得有更好的方法,就随手写一个,以备用之
问题描述。借用了adinet的问题。参见:https://www.jb51.net/article/28670.htm
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
相关文章
SQL Server中的XML数据进行insert、update、delete操作实现代码
SQL Server 2005/2008增加了对XML数据的支持,同时也新增了几种操作XML的方法,本文主要以SQL Server 2008为例介绍如何对XML数据进行insert、update、delete2011-10-10
win2003 Server配置SQL Server 2005远程连接的方法
这篇文章主要介绍了win2003 Server配置SQL Server 2005远程连接的方法,需要的朋友可以参考下2015-01-01
SQLServer2005混合模式登录配置(用户登录错误18452,233,4064)
这篇文章主要介绍了SQLServer2005混合模式登录配置(用户登录错误18452,233,4064),需要的朋友可以参考下2014-07-07
SQL Server 2005与sql 2000之间的数据转换方法
这篇文章主要介绍了SQL Server 2005与sql 2000之间的数据转换方法,需要的朋友可以参考下2014-08-08
在sqlserver2005中安装sql server 2000的示例数据库northwind的方法
装完sql server 2005后却没有找到ms的示例数据库northwind 后来查看安装光盘发现sql server 2005种只有adventurework与adventureworkDW这两个sample database 到ms官方站找了好久 才找到sql server 2000的sample database2013-05-05


最新评论