`
jslfl
  • 浏览: 323791 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

oracle行转列的应用

阅读更多
oracle 行转列应用


select t.WELLITEM_ID,
                co.ORG_ABBREVIATION as WELLITEM_NAME,
                t.WELL_ID,
                cb.WELL_NAME
                 max(decode(MATERIAL_CODE, '1001', MATERIAL_RESERVES,null)) as rh, -- 日耗
                 max(decode(MATERIAL_CODE, '1002', MATERIAL_RESERVES,null)) as kc -- 库存
          from MATERIAL t
          LEFT JOIN COMM_ORG_INFORMATION co ON(
                 t.WELLITEM_ID = co.ORG_ID
          )
          LEFT JOIN COMM_BASE_WELL_INFO cb ON(
                 t.WELL_ID = cb.WELL_ID
             )
          where TO_CHAR(t.daily_date,'yyyy-mm-dd')='2012-12-12'
          group by t.WELLITEM_ID,t.well_id,co.ORG_ABBREVIATION,cb.WELL_NAME


表结构如下:
aid  wellitem_id  well_id  material_code  material_reserves  daily_date
1       01          001         1001            25.03       2012-12-12
2       01          001         1002            43.22       2012-12-12
3       02          001         1001            55.03       2012-12-12
4       02          001         1002            44.22       2012-12-12


查询结果如下:
wellitem_id WELLITEM_NAME  well_id  WELL_NAME   rh     kc
  01            a             001      aa     25.03   43.22
  02            b             001      bb     55.03   44.22

关键点是,要转换的字段要用聚合函处理,如max,min,sum等
分享到:
评论

相关推荐

    Oracle行转列(不定列)

    本篇文章将详细探讨Oracle如何实现行转列为列的过程,以及在面对不确定列数时的解决方案。 在传统的SQL查询中,数据通常是以行的形式存储和展示。然而,在某些场景下,我们可能需要将同一类别的数据从多行转换为一...

    oracle动态行转列

    本文将深入探讨如何通过Oracle中的存储过程实现动态“行转列”,并结合给定文件的信息,详细解析其工作原理、优点及应用场景。 ### 核心知识点:Oracle动态行转列 #### 1. 存储过程与动态SQL 存储过程是预编译的...

    Oracle行转列之pivot

    在Oracle数据库中,行转列(也称为数据透视)和列转行(unpivot)是SQL查询中用于数据转换的高级功能。从Oracle 11g版本开始,引入了PIVOT和UNPIVOT关键字,以支持显式的查询转换,即从行数据转换为列数据,或从列...

    oracle行转列较精典的解决方案

    本文将详细介绍几种在Oracle数据库中实现行转列的经典方法,并通过具体示例来展示这些方法的应用。 #### 一、使用SQL decode函数进行行转列 ##### 1. 实现思路 通过使用`decode`函数结合`sum`聚合函数可以实现行...

    oracle 行转列

    #### 一、Oracle 行转列概念及应用场景 在数据库操作中,经常需要对数据进行格式上的调整以便更好地分析或展示数据。其中,“行转列”是一种常见的数据处理方式,它指的是将原本存储在多行中的数据转化为单行中的多...

    Oracle行转列

    Oracle行转列 Oracle行转列是指在Oracle数据库中将行数据转换为列数据或将列数据转换为行数据的操作。这种操作在实际应用中非常有用,例如,在数据报表、数据分析和数据挖掘等领域都需要使用行转列操作。 1. 列...

    oracle实现行转列功能,并使用逗号进行隔开拼接,成为一条数据.pdf

    Oracle 实现行转列功能并使用逗号进行隔开拼接成为一条数据 Oracle 中实现行转列功能,并使用逗号进行隔开拼接,成为一条数据是指将多行数据合并成一行数据,并用逗号分隔每个字段的值。这种功能在实际应用中非常...

    oracle行转列聚合函数WMSYS.WM_CONCAT

    ### Oracle行转列聚合函数WMSYS.WM_CONCAT详解 #### 一、概述 在进行数据处理时,经常会遇到需要将多行数据合并为单行的情况,这通常被称为“行转列”。Oracle数据库提供了多种方法来实现这一需求,其中`WMSYS.WM_...

    oracle行转列

    在Oracle数据库中,行转列是一种常见的数据处理需求,尤其当数据以汇总或分组的形式存储,而我们需要从不同维度查看这些数据时。这通常涉及到将数据表中的某一行的多个值转换为多列的形式,以便于数据分析和报告。...

    游标分类汇总行转列oracleplsql

    本示例展示了如何使用Oracle PL/SQL中的游标来进行数据的分组统计,并通过程序逻辑实现了一种类似“行转列”的效果。这对于初学者来说是非常有价值的实践案例,可以帮助他们更好地理解游标的工作原理及其应用。同时...

    oracle的列转行问题

    这种问题在实际应用中非常常见,如将学生的成绩从行数据转换到列数据,以便更方便地查看和分析。 在 Oracle 中,通常使用 decode 或者 case 函数与聚合函数联合实现列转行功能。但是,这种方法存在一些缺陷,例如...

    ORACLE 列转行 DECODE函数用法

    DECODE函数在处理列转行的问题时,尤其适用于将多列数据合并到一行中,使得数据展示更加简洁明了。下面我们将详细讲解DECODE函数的使用方法以及如何在列转行操作中应用它。 DECODE函数的基本语法如下: ```sql ...

    sql动态行转列 存储过程

    `PIVOT`是Oracle数据库特有的行转列函数,而`CASE`语句则在大多数SQL方言中可用。 3. **执行动态SQL**:使用`EXEC`或`sp_executesql`(在SQL Server中)来执行动态构建的SQL语句。 4. **处理结果**:存储过程可以...

    Oracle行列转换

    首先,我们有`PIVOT`操作,它是Oracle 11g引入的新特性,用于将行数据转换为列数据。例如,假设我们有一个销售数据表,包含产品ID、年份和销售额三列。通过`PIVOT`,我们可以将不同年份的销售额转换为每种产品的列,...

    Oracle行变列-存储过程

    Oracle数据库中的"行变列"技术是指将数据库中原本存储为多行的数据转换为单行的列式展示,这在数据分析、报表制作等场景中非常常见。存储过程是Oracle数据库中预编译的PL/SQL代码块,可以执行一系列复杂的数据库操作...

    ORACLE根据某一列的值修改另一列的值

    Oracle 数据库开发培训中根据某一列的值修改另一列的值 Oracle 数据库是一种关系型数据库管理系统,广泛应用于企业级应用程序中。在 Oracle 数据库中,我们可以使用 update 语句来修改某一列的值根据另一列的值。...

    Oracle实现行转换成列的方法

    在Oracle数据库中,这种行转列的操作可以通过多种方法实现,包括使用`PIVOT`操作、`DECODE`函数以及自定义的聚合函数等。下面我们将详细讨论这些方法,并结合提供的实例进行解析。 首先,我们来看一个简单的例子,...

Global site tag (gtag.js) - Google Analytics