sql server 2005 with如何实现递归

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 2005 with如何实现递归相关的知识,希望对你有一定的参考价值。

用SQL SERVER做递归子节点时,从网上发现很多《SQL2005使用with关键字解决递归父子关系》这样的文章,我从SQL帮助找到WITH用法,发现有点难理解,麻烦大家讲解下with的用法,下面是copy下来的语法:[ WITH <common_table_expression> [ ,...n ] ] <common_table_expression>::= expression_name [ ( column_name [ ,...n ] ) ] AS ( CTE_query_definition )

参考技术A 比如有张表,结构如下:Example(ID int,ParentID int)取其某个ID为父节点的树结构的SQL如下:WITH Example_Table(ID,ParentID)AS( --取根节点放入临时表 SELECT ID,ParentID FROM Example WHERE ID = @ID --根据已取到的数据递归取其字节点的数据 UNION ALL SELECT ID,ParentID FROM Example A INNER JOIN Example_Table B ON A.ParentID = B.ID)SELECT * FROM Example_Table 参考技术B 。。。不会

SQL SERVER 之 WITH AS 递归

WITH    Category_Tree
          AS ( SELECT   Code
               FROM     SubjectDB.Supplier.SupplierCategory
               WHERE    Code LIKE \'0101%\'
             )

SELECT  *
FROM    SubjectDB.Supplier.SupplierCategory
WHERE   Code IN ( SELECT    *
                      FROM      Category_Tree ) 

查询结果:

以上是关于sql server 2005 with如何实现递归的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server2005清除数据库日志

如何转换SQL Server 2008数据库到SQL Server 2005

SQL SERVER 2005删除维护作业报错:The DELETE statement conflicted with the REFERENCE constraint "FK_subpl

SQL Server 2008 收缩日志 清空删除大日志文件

SQL Server Debugging with WinDbg – an Introduction

SQL SERVER 2008 R2 数据库附加到 SQL server 2005,怎么整