`

用sql实现递归的查询

 
阅读更多

 

      主键    父节点     是否     名称            描述

                              叶子

                              节点    

    RES_CAT_ID     IS_LEAFNODE

  1 1_F 1 0 农业科学 农业科学 0 06-12月-12 03.52.09.074000 下午

  3 1_F 1 0 植物保护 植物保护 0 06-12月-12 03.52.34.545000 下午

  4 1_F 1 0 农作物 农作物 0 06-12月-12 03.52.50.804000 下午

  5 1 1 1 农业基础学科 农业基础学科 0 06-12月-12 03.53.24.490000 下午

  6 1 1 1 植物保护 植物保护 0 06-12月-12 03.53.43.328000 下午

  7 2 1 1 土壤学 土壤学 0 07-12月-12 10.34.10.163000 上午

  8 1_F 1 1 畜牧学 畜牧学 0 07-12月-12 10.38.43.331000 上午

2 1_F 1 0 农业基础科学 农业基础科学 0 06-12月-12 03.52.23.398000 下午

            RES_CAT_PAR_ID
第一列:RES_CAT_ID   第二列:RES_CAT_PAR_ID   第三列 : IS_LEAFNODE

查询某节点的所有叶子节点的数据
select t.res_cat_id, t.res_cat_name, t.res_cat_par_id
  from irc_res_cat t
 where t.res_cat_id <> '2' 
 start with t.res_cat_id = '2'
connect by prior t.res_cat_id = t.res_cat_par_id
       and t.is_del = '0'
       and t.is_leafnode = '1'
查询根目录下所有的叶子节点数据
select t.res_cat_id, t.res_cat_name, t.res_cat_par_id
  from irc_res_cat t
  where t.res_cat_par_id = '1_F' and t.is_leafnode = '1'

 

分享到:
评论

相关推荐

    sql server 2008 递归查询所有上级或下级数据

    在SQL Server 2008中实现递归查询来获取所有上级或下级数据是一项非常实用的技术,尤其是在处理具有层次结构的数据时。本篇将详细解释如何利用Common Table Expressions (CTE)来完成这样的查询,并对提供的示例代码...

    SQL 递归查询,并将结果集保存在临时表中

    ORGNAME,T.P_ORGDICTID,T.F_PARENTID FROM T_SYS_ORGDICT AS T INNER JOIN CTE AS C ON T.F_PARENTID=C.P_ORGDICTID`)则将当前CTE的结果与原表进行连接,寻找所有父ID在CTE结果中的记录,从而实现递归。 3. **临时...

    sql递归查询实例2

    为了实现递归查询,我们定义了一个名为`aa`的函数,该函数接受一个`upperid`作为参数,并返回一个包含`id`、`upperid`和`level`的表。 ```sql IF EXISTS(SELECT * FROM dbo.sysobjects WHERE name = 'aa') DROP ...

    SQL sever 中递归查找子节点和父节点

    下面将详细介绍如何使用 SQL Server 实现递归查找子节点和父节点。 创建表 首先,我们需要创建一个表来存储树形结构的数据。在这个示例中,我们创建了一个名为 `t_part` 的表,包含三个字段:`zjid`(自己的编号)...

    部分普通sql查询在hive中的实现方式

    ### 部分普通SQL查询在Hive中的实现方式 Hive是一款基于Hadoop的数据仓库工具,能够对存储在Hadoop文件系统中的数据集进行数据提取、转换、加载(ETL),这是一种可以简化MapReduce编程的工具。由于Hive的设计初衷...

    sqlserver 2005 使用CTE 实现递归

    ### SQL Server 2005 中使用 CTE 实现递归 #### 一、CTE 递归原理 在 SQL Server 2005 中,使用公共表表达式(Common Table Expression, CTE)实现递归是一种高效且直观的方式。递归 CTE 通常由两部分构成:定位...

    MySQL实现递归查询的三种方式.rar

    本资料主要探讨了MySQL中实现递归查询的三种常见方法:自连接、存储过程以及使用WITH语句(也称为递归公共表表达式,CTE)。下面将详细介绍这三种方法。 1. **自连接** 自连接是将表本身与自身进行连接,通过定义...

    hibernate实现递归查询

    本文将深入探讨如何使用Hibernate实现递归查询,以解决在数据层次结构中涉及父节点与子节点关系时的问题。递归查询通常用于处理树形结构的数据,例如组织结构、菜单系统或者文件目录等。 首先,我们需要了解递归的...

    SQL Server CTE 递归查询全解1

    SQL Server中的递归查询主要通过CTE(公共表表达式)来实现,它是一种非常强大的工具,特别适用于处理层次结构数据。CTE是T-SQL脚本中的临时结果集,可以用于复杂的查询,尤其是需要递归操作的情况。本文将深入探讨...

    sql自定义递归方法

    本文将深入探讨一个具体的案例,即如何利用SQL自定义函数实现对部门层级数据的递归查询,这不仅能够帮助我们更好地理解SQL递归函数的工作原理,还能提供一个实际应用的例子。 ### SQL自定义递归方法详解 #### 1. ...

    浅谈T-SQL语言之递归查询.pdf

    在实现递归查询时,CTE通过关键字WITH来建立,遵循特定的语法格式。例如,使用WITH关键字后跟CTE的名称,然后是括号内定义的列名,随后是AS关键字,最后是CTE查询的定义。如果CTE定义中的列名是唯一的,可以省略列名...

    sql server实现递归查询的方法示例

    本文实例讲述了sql server实现递归查询的方法示例。分享给大家供大家参考,具体如下: 有时候面对树结构的数据时需要进行递归查询,网上找了一番,参考了各位大神的文章,发现蛮简单的,当做个小笔记方便以后使用 sql ...

    MySQL递归查询

    该方法是使用 MySQL 的存储过程来实现递归查询。首先,创建一个函数 `getChildLst`,该函数将返回一个由所有子节点号组成的字符串。该函数使用 WHILE 循环来递归地查找所有子节点,并使用 `FIND_IN_SET` 函数来判断...

    数据库设计之递归树查询

    本文将深入探讨如何通过递归查询来解决这类问题,并着重讲解使用`WITH`语句来实现递归查询的方法,适用于多种数据库系统,如MySQL、PostgreSQL、SQL Server等。 一、理解递归查询 递归查询是一种在数据库中遍历层级...

    递归查询菜单树,支持mysql,oracle

    在MySQL中,我们可以使用自连接来实现递归查询。假设我们有一个名为`menus`的表,包含`id`(主键)、`parent_id`(父菜单ID)和`name`(菜单名)字段。可以编写一个如下的SQL查询: ```sql WITH RECURSIVE menu_...

    一种MySQL数据库SQL递归查询的研究与实现.pdf

    因此,通过模拟堆栈的原理,我们可以设计一条SQL语句,利用嵌套的JOIN或子查询来模拟迭代过程,逐步展开层次结构,从而实现递归查询的效果。 实现这样的SQL递归查询,通常需要以下步骤: 1. 初始化:定义起始条件,...

    sql_函数实现三种父子递归

    本文将探讨如何使用SQL函数实现三种常见的递归查询:找到所有子节点、查找所有父节点以及面包屑导航数据。我们将通过一个名为`Region`的示例表来说明这些操作。 首先,我们需要一个基础的表结构,如`Category`或`...

    SqlServer实现递归查询

    例如,现在需要查询出西湖区以及西湖区所属的市和省,这时候就需要用到SQL递归查询。我在这里构造了一张数据表[tb_Test],其数据如下所示: Id Name ParentId 1 浙江省 NULL 2 杭州市 1 3 湖州市 1 4 滨江区 2 ...

Global site tag (gtag.js) - Google Analytics