`
liss
  • 浏览: 844128 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Oracle数据显示--横表转纵表

阅读更多

1.建表
-- Create table  
create table test  
(  
  dm1 char(3),  
  dm2 char(3),  
  mc1 nvarchar2(20),  
  val nvarchar2(20)  
)

2.填入数据如下:

DM1 DM2 MC1 VAL
101 1 c1 100
101 1 c2 80
101 1 c3 40
101 2 c1 30
101 2 c2 80
102 4 c1 9
102 6 c2 50

转换后数据显示如下:

DM1 DM2 c1 c2 c3
101 1 100 80 40
101 2 30 80  
102 4 9    
102 6   50  

3.转换语句:

select dm1,dm2,sum(decode(mc1,'c1',val)) c1,sum(decode(mc1,'c2',val)) c2,sum(decode(mc1,'c3',val)) c3  
from test  
group by dm1,dm2 

注:该语句是在val为数值的情况下的执行方法,如果val不为数值型,或者包含字符串等类型的话,运用sum会报错,这里可以采用

另外一个方法,将sum改为max即可,语句如下:

select dm1,dm2,max(decode(mc1,'c1',val)) c1,max(decode(mc1,'c2',val)) c2,max(decode(mc1,'c3',val)) c3  
from test  
group by dm1,dm2 
select dm1,dm2,max(decode(mc1,'c1',val)) c1,max(decode(mc1,'c2',val)) c2,max(decode(mc1,'c3',val)) c3
from test
group by dm1,dm2

此外,横表转纵表亦可用与decode意义相似的case语句实现,原理同该语句,这里不再过多描述。

 

分享到:
评论

相关推荐

    Oracle 数据显示 横表转纵表

    本文将详细介绍如何在Oracle中使用DECODE和CASE语句进行横表转纵表的操作。 首先,我们需要理解横表和纵表的概念。横表是列数多行数少的数据结构,而纵表则是行数多列数少,通常用于将具有相同类别但不同属性的数据...

    oracle查询语句数据横向变纵向

    相关数据 博文链接:https://xiaobo.iteye.com/blog/34099

    java和oracle面试题笔试题-.pdf

    * 在Oracle数据库中存在一张test表,记录如下:请使用SQL语句,将结果显示成纵表转横表。 * 解释:使用CASE WHEN语句和MIN函数来实现条件判断和 aggregation。 知识点8:Oracle数据库操作 * 在Oracle数据库中存在...

    SQL动态交叉表,希望对SQL程序员有帮助

    例如,假设我们有一个销售数据表,包含产品、地区和销售额信息,通过Pivot,我们可以把地区列转换为行,将销售额变为对应地区的列,从而得到一个按产品分组,列显示各地区销售额的表。 2. **CASE表达式**:在不支持...

    java和oracle面试题笔试题.docx

    7. 在 Oracle 数据库中存在一张 test 表,使用 SQL 语句将结果显示成纵表转横表,这个问题考察了 Oracle 数据库的数据处理能力和 SQL 语句的使用。 8. 在 Oracle 数据库中存在一张公司人员工资关系表 emp,使用 SQL...

    oracle report 初級教案

    - **矩阵报表**:在横、纵两个组的交叉点显示数据。 - **带分组的矩阵报表**:在矩阵报表的基础上增加分组功能。 ##### 1.1.3 创建报表的步骤 1. **定义查询语句**:使用 SQL SELECT 语句定义报表的数据源,可以按 ...

    经典SQL脚本大全

    │ │ 8.2.5 校验表中数据是否有循环编码的通用存储过程.sql │ │ 8.2.6 复制指定节点及其所有子节点到指定结点的处理示例(借鉴方式排序法).sql │ │ 8.2.6 复制指定节点及其所有子节点到指定结点的处理示例.sql ...

    Sqlserver2000经典脚本

    复杂交叉表1.sql │ 多栏显示.sql │ 日期+星期+时间.sql │ 格式化报表.sql │ 横转竖-1.sql │ 横转竖-字段名.sql │ 横转竖-生成字段名.sql │ 横转竖.sql │ 行列互换的复杂...

    FSG解决方案PPT(供参考).pdf

    在企业日常运营及财务管理过程中,各种财务报表(如资产负债表、损益表、财务状况变动表和经营表等)起着至关重要的作用。这些报表不仅为企业内部管理层提供了评估经营业绩和改进管理策略的重要依据,同时也为外部...

    公司分析-天风证券-顶点软件603383.SH领先的平台型软件公司,信创及架构升级带来新机遇.pdf

    该公司在证券、期货、银行、信托等多个泛金融领域都有业务涉及,构建了“三横(前中后台)一纵(风险与内控)”的业务架构。顶点软件不仅是金融IT创新的先行者,如银证转账、集中运营等功能的开创者,还在CRM和集中...

Global site tag (gtag.js) - Google Analytics