`
- 浏览:
783217 次
- 性别:
- 来自:
上海
-
Create Table products
(productsID int,
productname nvarchar(50),
ProductTypeID int)
Create Table ProductType
(ProductTypeID int,
Typeproductname nvarchar(50),
ParentID int,
Level int,
ProductKey int)
Insert products Select 1, 'A1 ', '1 '
Union All Select 2, 'A2 ', '2 '
Union All Select 3, 'A3 ', '3 '
Union All Select 5, 'A5 ', '3 '
Union All Select 6, 'B1 ', '5 '
Union All Select 7, 'B2 ', '6 '
Insert ProductType Select 1, 'A ', 0, 1, 1
Union All Select 2, 'A1 ', 1, 2, 1
Union All Select 3, 'A2 ', 2, 3, 1
Union All Select 5, 'B ', 0, 1, 2
Union All Select 6, 'B1 ', 5, 2, 2
Create Function F_GetChildren(@Typeproductname nvarchar(50))
Returns @Tree Table (ProductTypeID Int)
As
Begin
Insert @Tree Select ProductTypeID From ProductType Where Typeproductname = @Typeproductname
While @@Rowcount > 0
Insert @Tree Select A.ProductTypeID From ProductType A Inner Join @Tree B On A.ParentID = B.ProductTypeID And A.ProductTypeID Not In (Select ProductTypeID From @Tree)
Return
End
Select * From products Where ProductTypeID In (Select ProductTypeID From dbo.F_GetChildren( 'A '))
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在SQL Server 2008中实现递归查询来获取所有上级或下级数据是一项非常实用的技术,尤其是在处理具有层次结构的数据时。本篇将详细解释如何利用Common Table Expressions (CTE)来完成这样的查询,并对提供的示例代码...
sqlserver递归查询树结构的表的根结点子最里层的子结点
在SQL中,递归查询是一种强大的工具,常用于处理层级数据,例如组织结构、树形菜单等。在给定的场景中,我们需要根据一个特定的节点ID查询出该节点及其所有子节点,并将这些结果存储在一个临时表中。以下是实现这一...
SQL Server 中递归查找子节点和父节点 在关系数据库管理系统中,特别是在 SQL Server 中,递归查找子节点和父节点是一种常见的操作。这种操作可以应用于树形结构的数据存储和查询中,例如组织结构、目录结构、分类...
本文实例讲述了sql server实现递归查询的方法示例。分享给大家供大家参考,具体如下: 有时候面对树结构的数据时需要进行递归查询,网上找了一番,参考了各位大神的文章,发现蛮简单的,当做个小笔记方便以后使用 sql ...
根据提供的信息,我们可以深入探讨如何使用SQL递归查询来获取所有属于特定`upperid`的数据及其子树。这里的关键在于理解递归查询的工作原理,并通过一个具体的例子来演示这一过程。 ### SQL递归查询概念 在关系型...
在SQL Server中,递归查询是一种强大的工具,用于处理层级数据或树状结构的数据,例如组织结构、部门关系等。本文将深入探讨如何利用递归查询来获取子节点和父节点的信息。 一、查询当前部门下的所有子部门 在SQL ...
在SQL Server 2008中,表达式递归查询是一种强大的工具,尤其适用于处理具有层级关系的数据,如组织结构、目录树或者分类系统。这种技术主要依赖于公用表表达式(Common Table Expression, CTE),它允许在单个查询...
例如,现在需要查询出西湖区以及西湖区所属的市和省,这时候就需要用到SQL递归查询。我在这里构造了一张数据表[tb_Test],其数据如下所示: Id Name ParentId 1 浙江省 NULL 2 杭州市 1 3 湖州市 1 4 滨江区 2 ...
SQL Server中的递归查询主要通过CTE(公共表表达式)来实现,它是一种非常强大的工具,特别适用于处理层次结构数据。CTE是T-SQL脚本中的临时结果集,可以用于复杂的查询,尤其是需要递归操作的情况。本文将深入探讨...
递归式指代码片段调用自身的情况;危险之处在于:如果调用了自身一次,那么如何防止他反复地调用自身。也就是说提供递归检验来保证适当的时候可以跳出。 以阶层为例子说存储过程中递归的调用。 递归 CREATE PROC ...
- 定位成员是一个非递归查询,用于提供递归过程的起始点。 - 例如,在查找组织结构时,定位成员可以是某个特定员工的信息。 2. **递归成员(RM)**: - 递归成员是递归查询的部分,它依赖于先前的查询结果,并...
将多行数据生成一个一个字符患的递归脚本,方便,快捷。要顶哦。
当初花了很长时间查资料、逛博客 终于搞定的排序 以及对于处理菜单列表显示的 问题。希望对你们有帮助。压缩包包含数据表创建脚本 以及 实现功能的语句 表结构字段 id、name、url、pid、indexs
在SQL Server中,实现树形结构递归查询是数据库管理中的常见需求,特别是在处理具有层级关系的数据时,如无限级分类。SQL Server 2005及以后版本引入了公用表表达式(CTE,Common Table Expression)来支持递归查询...
以下是一些关于SQL Server死锁监控及查询死锁源头的方法。 首先,我们可以使用内置的系统存储过程`sys.dm_tran_locks`来检查当前的锁定状态,这个视图提供了关于系统中所有锁定的详细信息。但是,要确定具体的死锁...
CTE(Common Table Expressions)是从SQL Server 2005以后版本...一般我们在处理树,图和层次结构的问题时需要用到递归查询。 CTE的语法如下 WITH CTE AS ( SELECT EmpId, ReportTo, FName FROM Employ WHERE Emp