0 0

oracle 查询树形结构二级节点的办法5

如题:
   我有一张树形结构的表,里面存了一级二级和三级。通过每条记录的parentCode区分,我现在想得到二级节点的code并已二级节点来分组统计数据,怎么写sql呢?谢谢
 
2014年7月02日 14:45

3个答案 按时间排序 按投票排序

0 0

采纳的答案

select t1.* from A t1 left join B t2 on t1.parentCode = t2.code
and t2.parentCode = 0

2014年7月02日 16:29
0 0

你既然想要获取二级节点,从你说的来看,parentCode 应该是父类的编码。

  既然是这样,那么一级节点,应该就没有父类编码的!从这点入手。


select * from tableName t where t.parentCode is null;


获取到一级节点。
  然后连表就可以了!
其实最简单的,还是 canon99 他给的答案
   select * from a start with parentCode = 0 connect by prior id = parentCode;

2014年7月04日 09:28
0 0

select * from a start with parentCode = 0 connect by prior id = parentCode;

2014年7月03日 12:14

相关推荐

    Oracle递归树形结构查询功能

    Oracle数据库在处理树形结构数据时提供了强大的递归查询功能,这种特性对于组织结构、产品分类、层级菜单等场景的应用非常广泛。递归树形结构查询主要依赖于`CONNECT BY`和`PRIOR`关键字,它们允许我们构建复杂的...

    Excel树形结构数据导入Oracle数据库(Java)

    这篇博客“Excel树形结构数据导入Oracle数据库”提供了一个解决方案,下面将详细解析这个过程。 首先,我们需要理解Excel数据的树形结构。在Excel中,数据可能以层次化的形式存在,比如一级分类、二级分类等,形成...

    非常实用的树形菜单,有数据库表

    这些工具可以帮助开发者轻松构建和管理树形结构。 3. **数据库表**:数据库是存储和管理结构化数据的核心组件。在树形菜单中,数据通常存储在数据库中,通过SQL查询获取并展示。数据库表是数据的二维表格形式,每个...

    Oracle递归查询

    为了更好地理解Oracle中的递归查询,我们首先需要创建一张表格来存储一个简单的树形结构。下面是一张名为`TEST_TREE`的表,包含以下列: - `ID`: 主键,标识每个节点。 - `PID`: 父节点ID,表示当前节点的上一级...

    edb数据库保存树形框分支结构源码

    另外,层次查询语言(如PostgreSQL的`WITH RECURSIVE`)可能被用来遍历树形结构。 7. **编程语言**:虽然未明确指出,但考虑到数据库操作,源码可能是用SQL配合某种后端编程语言(如Python、Java、C#)实现的。 8....

    oracle-tree-sql.rar_oracle

    本资料"oracle-tree-sql.rar_oracle"主要探讨的就是如何在Oracle中使用SQL查询树形结构数据。 一、Oracle树结构查询基础 1.1 连接查询(Connect By) Oracle的Connect By子句是处理层次数据的核心工具。它允许...

    xtree一颗完整的树xtree+oracle+struts

    在IT行业中,构建树形结构的数据展示是一种常见的需求,尤其在Web应用中,例如文件系统、组织架构或者层级关系的管理。"xtree"是一个专用于构建这种树形视图的组件,它常与数据库系统(如Oracle)以及MVC框架(如...

    Oracle 实战SQL层次查询

    CONNECT BY PRIOR`语句可以从根节点开始遍历整个树形结构。例如,从编号为7839的员工开始查询: ```sql SELECT empno, mgr, ename, job FROM emp START WITH empno = 7839 CONNECT BY PRIOR empno = mgr; ``` 这里`...

    数据库 + TreeView 实现二级菜单

    6. 渲染Treeview:完成数据加载后,TreeView控件会自动渲染出菜单的树形结构。 在实际开发中,可能还需要考虑以下几点: - 数据缓存:为了提高性能,可以考虑将查询结果缓存在内存中,避免频繁的数据库交互。 - ...

    oracle学习笔记

    1. 查询树形结构:使用`START WITH`和`CONNECT BY`,找出根节点为特定值的所有子节点,例如: ```sql SELECT * FROM inv_node_demo START WITH node_owner_id = 0 CONNECT BY prior node_id = node_owner_id; ``...

    Oracle_start_with_connect_by_prior_用法

    - **`START WITH`**:定义查询的起点,即树形结构的根节点。 - **`CONNECT BY PRIOR`**:用于建立记录之间的层级关系,指明如何从父节点到子节点。 #### 三、具体应用场景 接下来,我们将通过具体的示例来详细解析...

    内部编码和层次查询测试分析

    Oracle树形查询法,通过使用`sys_connect_by_path`函数结合`start with`和`connect by`子句,可以构建出树状的查询结果。与内部编码法相比,该方法在插入和修改方面更为灵活,仅需知道父节点的ID即可轻松进行操作。...

    Java swing+Jtree+Hibernate+Oracle企业人事管理系统

    它允许用户浏览、选择和操作树形结构中的节点。JTree可以动态加载数据,支持节点的展开、折叠、选择和拖放操作,使得用户能方便地探索复杂的数据结构。 【Hibernate】 Hibernate是一个流行的开源对象关系映射(ORM...

    Oracle10g笔记.txt

    - **层次型数据库**(Hierarchical Database)是一种较早的数据库类型,数据以树形结构组织。 - **网状数据库**(Network Database)允许节点之间存在多对多的关系。 2. **安全性**:数据库的安全性是非常重要的...

    Oracle索引介绍.pdf

    B-Tree,或称B树,是一种自平衡的树形数据结构,特别适合于磁盘等外部存储设备,因为它降低了磁盘I/O操作的次数。在B-Tree中,每个节点可以有多个子节点,通常在M阶的B-Tree中,每个节点最多有M个孩子,且非叶节点...

    Oracle介绍与安装

    - **层次型数据库**: 最早出现的一种数据库模型,采用树形结构表示实体间的关系。 - **网状型数据库**: 在层次模型基础上发展而来,允许多个父节点,形成网状结构。 - **关系型数据库**: 当前最流行的数据库模型,...

    java-Press-out-the-stack-.zip_out

    在这个场景下,我们探讨的是如何利用栈的特性来构建树形结构,特别是针对Oracle数据库查询结果进行处理,例如构建菜单树对象。Oracle数据库是关系型数据库管理系统之一,广泛应用于大型企业级应用中,而JDBC(Java ...

Global site tag (gtag.js) - Google Analytics