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

ORACLE表查询结果转置(固定列)

 
阅读更多

 

1.应用场景说明


 为一个可编辑grid,对应这样的grid数据库有两种设计方式,方式1:将数据库表中的每一个列和grid中的每一个列对应;方式2:可编辑部份每一个单元格做一个数据库表的行,既采用纵表的方式存储数据,当查询时把纵表结果转置90度既可。

两种方式对比:

方式1:和GRID中对应一致,对于数据库设计来说比较直观,grid中的行和table中的行一一对应,后台代码上对于表操作也比较容易;但一个缺点是表结构比较死板,如果grid中需求改变,要增加更多的可编辑单元格列,则表中需要提前设计一些保留列字段;

方式2:数据库表和grid的行对应起来不直观,但是对于grid的动态列的扩展应对起来没有问题,当需求上要对grid增加字段时,数据库表不需改动,只用改动前台代码和少量后台代码。

 

2.数据库设计



 TB0表做为模板记录表,TB1做为分类表,TB2做为可编辑部份单元格表,每个可编辑单元格对应一行.

WEIGHTsNAME对应GRID列名,weightsval对应grid单元格值。

查询所有单元格值SQL:



 将上面的查询结果转置90度,和GRID中的行一致:



 转换的原理在于用group by首先对id分组,然后通过decode方法对weightsname进行过滤,对于sum函数,只是为了和group by配合,这里换成max,min也是无所谓的,毕竟,只是对sum(1)、max(1)、min(1)都是1。

  • 大小: 49.4 KB
  • 大小: 35.2 KB
  • 大小: 229.1 KB
  • 大小: 177 KB
分享到:
评论
1 楼 liqinaccp 2016-06-02  
不错,加油 

相关推荐

    SQL查询结果转置源码

    SQL查询结果转置是指将查询结果从行式结构转换为列式结构的过程。例如,在一个表中,我们有一些列和行,我们可以通过SQL查询将这些数据查询出来,但是这些数据可能是行式结构的,我们需要将其转换为列式结构以便于...

    数据结构--数组与广义表-矩阵转置

    转置稀疏矩阵的关键在于理解非零元素的位置变换,将原矩阵的行索引变为转置后的列索引,将原矩阵的列索引变为转置后的行索引,同时保持非零元素的值不变。 对于CRS转置为CCS,我们需要遍历原矩阵的非零元素,构建新...

    三元顺序表的快速转置

    非快速转置,也称为传统的转置方式,通常涉及创建一个新的三元顺序表,然后遍历原表,将每个三元组的元素按照新的顺序插入新表。虽然这种方法简单明了,但需要额外的存储空间,且在处理大数据集时可能会导致性能瓶颈...

    c# 数据报表 数据表转置

    2. **填充数据**:接着遍历原始数据表的每一行每一列,并按照转置的原则将数据填充到新的数据表中。 #### 示例代码详解 以下是一个具体的示例代码,展示了如何用C#进行数据表的转置操作: ```csharp using System...

    基于十字链表存储的稀疏矩阵的转置

    在`main`函数中,程序依次调用了上述各函数,先读取文件,然后打印原始的十字链表,执行转置操作,再次打印转置后的十字链表,并将结果写入新文件。 总结来说,这个C++程序展示了如何利用十字链表有效地处理稀疏...

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

    在Oracle数据库管理与开发过程中,经常会遇到需要将数据表中的行数据转换为列数据的情况,这种操作被称为“行转列”或者“行列转换”。行列转换是数据分析、报表生成等场景中非常常见的需求之一。本文将详细介绍几种...

    数据结构教学课件:第8讲 数组(三元组顺序表操作——转置算法).pdf

    数据结构教学课件:第8讲 数组(三元组顺序表操作——转置算法) 在数据结构领域中,数组是一种基本的数据结构形式,而三元组顺序表是一种特殊的数组形式,它的每个元素由三元组(row, col, item)组成。三元组顺序...

    C用数组实现稀疏矩阵的转置

    在`main`函数中,我们分配了转置矩阵的空间,调用了转置函数,并打印出转置后的结果。 需要注意的是,这个例子假设原始矩阵的三元组已经按照某种顺序(如按行优先或按列优先)排列。在实际应用中,可能需要根据具体...

    矩阵转置java程序

    转置是指将矩阵的行和列进行交换,使得原矩阵中的第i行第j列元素变成转置后矩阵中的第j行第i列元素。该程序包含以下几个主要部分: 1. **随机生成4x4矩阵**:程序能够生成一个4x4的方阵,并用10到100之间的随机整数...

    sql.txt 存储过程行列转置(oracle)

    oracle 存储过程,实现列表数据行转置成列显示table效果;用游标的方式实现;

    稀疏矩阵快速转置稀疏矩阵快速转置

    3. **调整顺序**:由于转置后,原矩阵的行变成了列,列变成了行,所以需要重新排序非零元素,确保新的列(原行)是非零元素连续的。 4. **处理边界**:转置后,矩阵的第一行可能不再是非零元素的开始,因此需要更新...

    从Oracle 表格行列转置说起第1/2页

    执行此查询后,我们会得到一个中间结果,其中每一天的金额分布在不同的列中。 接下来,我们需要按NO字段进行分组,以聚合每行的值。通过使用MAX函数,我们可以将同一NO下的金额合并到同一行中: ```sql SELECT NO,...

    稀疏矩阵的转置

    矩阵的转置是将矩阵的行变为列,列变为行的过程。对于普通矩阵,转置操作非常简单,只需交换行和列的索引。但对于稀疏矩阵,直接使用普通矩阵的转置方法可能会丢失其稀疏性,因为转置后可能会使原本非零元素聚集的行...

    table 行列转置demo

    当用户触发转置操作时,JavaScript通过Ajax发送请求到服务器,服务器上的Java应用程序接收并处理请求,可能包括验证权限、处理数据、生成新的表格结构,然后将结果返回给前端。Spring MVC或Struts2等框架常用于构建...

    数据结构课程设计,稀疏矩阵的转置

    2. 遍历原矩阵的非零元素,对于每个非零元素,将其行号作为转置矩阵的列号,列号作为转置矩阵的行号。 3. 在转置矩阵的对应位置插入非零元素,并更新对应的行指针或列指针。 在实际的编程实现中,还需要考虑如何...

    C++矩阵转置矩阵转置矩阵转置

    C++矩阵转置代码!

    数据结构实验报告4-数组与广义表-基于十字链表的稀疏矩阵转置-实验内容及要求.docx

    3. **输出转置后的三元组**:遍历转置后的十字链表,按顺序输出每个非零元素的行、列和值。 #### 输入输出设计 - **输入**:从字符文件读入三个正整数m、n、t以及t个三元组(i, j, e),用于构建稀疏矩阵的十字链表...

    稀疏矩阵的三元组顺序表存储表示及其转置算法

    //稀疏矩阵的三元组顺序表存储表示 #define MAXSIZE 100 //非零元个数最大为100 typedef struct {int i,j; //非零元的行下标和列下标 ElemType e; //非零元 }Triple; typedef struct {Triple data[MAXSIZE+1]; //...

    稀疏矩阵转置

    同时,转置后的新矩阵可能不再是原来的稀疏矩阵,即转置可能增加原本零元素较多的行或列的非零元素数量,因此在实际操作时,可能需要动态调整存储结构,以适应新的稀疏度。 在编程实现时,可以使用各种编程语言,如...

Global site tag (gtag.js) - Google Analytics