`

横表变纵表

阅读更多

横表变纵表列子1

横表:



纵表:




中介表:






with tb1 as
 (select '张三' fname,
         'A张三' f1,
         'B张三' f2,
         'C张三' f3,
         'D张三' f4
    from dual
  union all
  select '王五' fname,
         'A王五' f1,
         'B王五' f2,
         'C王五' f3,
         'D王五' f4
    from dual
  union all
  select '李四' fname,
         'A李四' f1,
         'B李四' f2,
         'C李四' f3,
         'D李四' f4
    from dual),

tb2 as
 (select 'F1' f from dual
      union all
  select 'F2' f from dual 
      union all
  select 'F3' f from dual  
     union all
  select 'F4' f from dual  
 )

select tb1.fname,
       tb2.f,
       decode(tb2.f , 'F1', tb1.f1, 'F2', f2, 'F3', f3, 'F4', f4) f_val
  from tb1, tb2
 order by tb1.fname,tb2.f




横表变纵表列子2:
with tb1 as
 (select '张三' fname,
         '201007' month_id,
         'A张三' f1,
         'B张三' f2,
         'C张三' f3,
         'D张三' f4
    from dual
  union all
  select '王五' fname,
         '201007' month_id,
         'A王五' f1,
         'B王五' f2,
         'C王五' f3,
         'D王五' f4
    from dual
  union all
  select '李四' fname,
         '201007' month_id,
         'A李四' f1,
         'B李四' f2,
         'C李四' f3,
         'D李四' f4
    from dual),
tb2 as
 (select rownum day_id
    from dual
  connect by rownum <=
             to_number(to_char(last_day(to_date('201007', 'YYYYMM')), 'dd')))

select tb1.fname,
       tb1.month_id,
       tb2.day_id,
       decode(mod(tb2.day_id, 4) + 1, 1, tb1.f1, 2, f2, 3, f3, 4, f4) f_val
  from tb1, tb2
 group by tb1.fname,
          tb1.month_id,
          tb2.day_id,
          decode(mod(tb2.day_id, 4) + 1, 1, tb1.f1, 2, f2, 3, f3, 4, f4)
 order by tb1.fname
  • 大小: 17.5 KB
  • 大小: 29.7 KB
  • 大小: 5.3 KB
分享到:
评论

相关推荐

    SqlServer mssql 交叉查询,横表变纵表

    sql server 交叉查询, 查询结果交叉表,横表变纵表

    Oracle 数据显示 横表转纵表

    在数据库管理中,数据的展示方式有时需要从横表(也称为宽表)转换为纵表(也称为窄表),以便于分析或更方便地呈现数据。Oracle数据库提供了多种方法来实现这种转换,其中一种常见的方式是使用DECODE函数或者CASE...

    工资表的设计方案及其纵表变横表的方法

    三、纵表变横表的方法 1. **Pivot Table(透视表)**:在Excel、Google Sheets或Python的pandas库中,可以使用透视表功能轻松实现数据转置。选择需要转换的列,设置“行标签”和“值”,即可将纵表转换为横表。 2....

    SQL Server纵表与横表相互转换的方法

    SQL Server中,数据有时需要从纵表(也称为长格式)转换为横表(也称为宽格式),反之亦然,以适应不同的分析需求。本文将详细讲解SQL Server中纵表与横表相互转换的方法。 1. **纵表转横表** 纵表通常具有一个或...

    数据库横表、纵表

    纵表在使用时由于行数过多,统计用户数或对用户分档时需要进行GROUP BY操作,性能低下,且操作不便,为提高性能,通常对纵表进行汇总,形成横表。  2.数据挖掘时用到的宽表一般也要求是横表结构。  3.纵表对于...

    sqlserver中查询横表变竖表的sql语句简析

    首先是三张表, CNo对应的是课程,在这里我就粘贴了。   主表  人名表 ...但是这是横表 不是我想看到的结果。 我们要看到这样的结果: 那么怎么办呢?第一种写法: 代码如下: SELECT w.SName, sum

    MySQL横纵表相互转化操作实现方法

    在数据库管理中,横表和纵表是两种不同的数据组织方式。横表通常是指每一行表示一个实体,而每一列代表一个属性或特征。相反,纵表则将多个相关的属性或特征分布在不同的行中,一个实体可能有多个行。MySQL数据库...

    code_R语言_纵向数据_

    在数据分析和统计建模领域,R语言是一种广泛使用的工具,尤其在处理纵向数据或面板数据时,其强大的功能和灵活性得到了专业人士的高度认可。本主题聚焦于如何利用R语言解决纵向数据线性混效应模型(Linear Mixed ...

    矩形截面幂函数复合变幅杆二维耦合振动的研究

    研究首先通过传输矩阵法计算了一维纵振动的频率方程,进而基于表观弹性法分析了大尺寸矩形截面的幂函数复合变幅杆,考虑了横向耦合振动对谐振频率的影响,并提出了相应的谐振频率方程。利用ANSYS软件进行了模态分析...

    数据库表的垂直切分与水平切分

    为了应对日益增长的数据量,提高系统的可扩展性和性能,数据库表的切分技术变得尤为重要。本文将详细介绍数据库表的两种主要切分方式——垂直切分与水平切分,并探讨它们的应用场景及优缺点。 #### 二、垂直切分 ...

    沥青表面处治面层质量检查表4.doc

    厚度、沥青总用量、中线平面偏位、纵断高程、宽度、横坡等参数都是保证路面功能性和美观性的要素,每一项都需达到或超过合格标准。 检查频率的确定是确保施工质量的关键。例如,平坦度的测量可采用每200米测量4点的...

    复变函数 李庆忠主编.pdf

    在复平面上,横坐标代表实部,纵坐标代表虚部,从而复数可以被视为平面上的一个点。实轴对应所有实数点,虚轴对应所有虚数点。复数的加法可以通过向量加法来直观地表示,即在复平面上将两点之间用直线段连接,那么这...

    复变函数.pdf

    几何表示和向量表示:在复平面上,每个复数可以通过笛卡儿直角坐标系中的点来表示,横坐标对应实部,纵坐标对应虚部。同时,复数也可以用起点在原点的向量来表示,这个向量的终点就是复数对应的点。通过向量表示,...

    实习二统计表与统计图.pptx

    首先,统计表是通过表格的形式展示数据,包括标题、标目(横标目和纵标目)、线条、数字和可能的备注。标题应简洁明了,包含研究的关键信息,如时间、地点等。标目分为横标目和纵标目,分别代表分组标志和统计指标。...

    (完整版)《复变函数》形考7答案.pdf

    复平面是用二维坐标系统来表示复数的一种方式,横坐标代表实部,纵坐标代表虚部。 2. 复变函数的极限和连续性:和实变函数一样,复变函数也有极限和连续的概念。极限是指函数在某点附近的值趋近于一个特定值。如果...

    大学物理实验教案部分电表的改装与应用

    根据改装表和标准表的对应值,算出各点的修正值 = ― ,在坐标纸上画出以为纵坐标,为横坐标的 ― 校正曲线,并计算改装后电流表的准确度等级K。 五、实验数据记录和处理 使用书上表格记录实验数据,并对数据进行...

    路面表11 级配碎(砾)石基层和底基层质量检验评定表11.doc

    - 横坡:控制路面的横向坡度,辅助排水并保证行车稳定性。 6. **表面判定与品质保障材料**: - 表面判定可能包括目视检查和触感检查,评估是否存在裂缝、松散等问题。 - 品质保障材料通常涉及施工过程中的记录和...

Global site tag (gtag.js) - Google Analytics