`

oracle递归后合并成一行

 
阅读更多

需求:组织机构表t_uic_dept, dept_level = 2为公司,dept_level='5'为部门。

现在要查出所有部门以及对应的公司一行展示。

展示列为:部门Code,部门名称,公司Code,公司名称。

 

SQL为:

with a as
 (select t.dept_code, t.dept_name, t.dept_level, t.dept_parentcode
    from caissa_erp_uic.T_UIC_DEPT t
   where t.dept_level = '5'),
b as
 (select d.dept_code,
         d.dept_name,
         d.dept_level,
         sys_connect_by_path(d.dept_code, '/') treepath
    from caissa_erp_uic.T_UIC_DEPT d
   where d.dept_level = '2'
  CONNECT BY NOCYCLE PRIOR d.dept_parentcode = d.dept_code
   start with d.dept_code in (select a.dept_code from a))
select a.dept_code,
       a.dept_name,
     --  a.dept_level,
       b.dept_code,
       b.dept_name
      -- b.dept_level
  from a, b
 where instr(b.treepath, a.dept_code) > 0

分享到:
评论

相关推荐

    oracle多行合并一行

    在Oracle数据库中,有时候我们需要将多行数据合并成一行进行展示或处理,尤其是在报表生成、数据展示等场景中。本文将详细介绍如何使用Oracle纯SQL语句实现这一功能,并通过具体示例来帮助理解。 #### 一、问题背景...

    sql实现多行合并一行

    在SQL中,有时候我们需要将查询结果中多行的数据合并成一行,这在处理某些特定的报表或数据分析时非常有用。这种技术通常被称为行合并或行聚合。在本例中,我们将探讨如何使用纯SQL实现这一功能,特别是针对Oracle...

    Oracle 多行记录合并/连接/聚合字符串的几种方法

    这个问题涉及到字符串的连接和聚合,使得多个记录的某个字段值能够整合到一行。在Oracle中,虽然没有内置的聚合函数直接支持这种操作,但可以通过一些技巧和自定义方法来实现。下面我们将对几种常用的方法进行详细...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    8.5.2 例1:从前一行中返回一个值 203 8.5.3 理解数据行的位移 204 8.5.4 例2:从下一行中返回一个值 204 8.6 First_value和Last_value 205 8.6.1 例子:使用First_value来计算最大值 206 8.6.2 例子:使用...

    %%%oracle函数全.zip

    11. **窗口函数**:ROW_NUMBER()、RANK()、DENSE_RANK()用于排序和分组,LEAD()和LAG()获取相邻行的值,FIRST_VALUE()和LAST_VALUE()获取分组的第一行和最后一行的值。 这些函数在实际数据库操作中发挥着至关重要的...

    Oracle内建函数大全

    Oracle数据库是世界上最广泛使用的数据库系统之一,其强大的功能和丰富的内置函数库是其核心优势之一。本文将深入探讨Oracle内建函数,旨在帮助用户更好地理解和利用这些功能来优化数据库操作。 1. **数学函数** -...

    Oracle SQL高级编程 中文版

    《Oracle SQL高级编程》是图灵程序设计丛书数据库系列中的一部重要著作,由资深Oracle专家撰写,并得到了OakTable团队的强力推荐。这本书是Oracle开发人员和DBA提升技能、深入理解Oracle SQL不可或缺的参考资料。它...

    《Oracle SQL高级编程》书中源代码

    4. **窗口函数**:Oracle SQL的窗口函数如ROW_NUMBER、RANK、DENSE_RANK、LEAD、LAG、FIRST_VALUE、LAST_VALUE等,提供了在结果集上进行复杂的行间计算的能力,对于时间序列数据和排名问题尤其有用。 5. **集合操作...

    Oracle内置SQL函数-分类整理大全

    Oracle数据库系统是世界上最广泛使用的数据库管理系统之一,其强大的SQL支持是其核心竞争力的重要组成部分。本文将深入探讨Oracle内置的SQL函数,这些函数极大地丰富了数据查询、处理和分析的能力。 一、数学函数 ...

    Oracle SQL优化实例讲解.pdf

    在为表增加新字段时,可以指定一个默认值,或者先增加字段再对数据行进行更新。这两种方法在性能上可能会有显著差异,需要进行测试比较。 16. 分区表实例讲解 分区表是将一个大表按照某种标准分成若干个较小的部分...

    oracle常用经典SQL查询

    以上仅是Oracle SQL查询的一部分基础知识,实际应用中还有更多高级特性,如窗口函数、递归查询、存储过程、触发器等,都需要根据具体需求深入学习和实践。通过不断的学习和实践,你将能够更好地掌握Oracle SQL查询...

    oracle函数大全自己用

    - `LAG()`, `LEAD()`: 访问前一行或后一行的数据。 - `RANK()`, `DENSE_RANK()`, `ROW_NUMBER()`: 在分析框架中为每一行分配唯一的排名。 - `OVER()` 子句:定义分析函数的作用范围。 这些只是Oracle函数大全中...

    oracle常用SQL语句(汇总版).zip

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,尤其在企业级应用中占据重要地位。SQL(Structured Query Language)是用于管理和操作数据库的标准语言,包括数据查询、数据更新、数据插入和数据删除等...

    Oracle函数大全(精)

    - `FETCH`:从游标中获取一行数据。 - `OPEN`、`CLOSE`:打开和关闭游标。 以上只是Oracle函数的冰山一角,实际上,Oracle提供了数百个内置函数,涵盖数据处理的各个方面。通过熟练掌握这些函数,你可以更高效地...

    oracle入门很简单04.zip

    Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,尤其在企业级应用中占据着重要地位。本资源“oracle入门很简单04.zip”主要聚焦于Oracle中的查询语句及其特色查询,旨在帮助初学者快速掌握Oracle ...

    oracle函数详解[收集].pdf

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的SQL函数和操作符来支持复杂的数据操作和查询。本篇文章将深入解析Oracle中的SQL语句基础和一些关键函数。 1. SQL语句基础 SQL(Structured Query ...

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

Global site tag (gtag.js) - Google Analytics