Oracle 表格行列转换,高手请进
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 表格行列转换,高手请进相关的知识,希望对你有一定的参考价值。
表格LS_SDSFB7_JE是按列存储的,需要进行行列转换
-- Create table
create table LS_SDSFB7_JE
(
pzxh VARCHAR2(32) not null,
je NUMBER(16,2) not null,
sbbxm_dm VARCHAR2(20),
sbbl NUMBER(2)
)
有下面两种实现方式,想问下,那种效率更高一些
select A.pzxh, A.je QCZZJE, B.je QCJSJC, C.je QMZZJE, D.je QMJSJC, E.je QMJSJC,
from LS_SDSFB7_JE A,
LS_SDSFB7_JE B,
LS_SDSFB7_JE C,
LS_SDSFB7_JE D,
LS_SDSFB7_JE E
where A.Pzxh = B.Pzxh
and A.Pzxh = C.Pzxh
and A.Pzxh = D.Pzxh
and A.Pzxh = E.Pzxh
and A.Sbbxm_Dm = B.Sbbxm_Dm
and A.Sbbxm_Dm = C.Sbbxm_Dm
and A.Sbbxm_Dm = D.Sbbxm_Dm
and A.Sbbxm_Dm = E.Sbbxm_Dm
and A.SBBL = '1'
and B.Sbbl = '2'
and C.Sbbl = '3'
and D.Sbbl = '4'
and E.Sbbl = '5'
select pzxh,
sum(decode(sbbl, 1, je, 0)) QCZZJE,
sum(decode(sbbl, 2, je, 0)) QCJSJC,
sum(decode(sbbl, 3, je, 0)) QMZZJE,
sum(decode(sbbl, 4, je, 0)) QMJSJC,
sum(decode(sbbl, 5, je, 0)) NSTZE from LS_SDSFB7_JE
group by pzxh
有人说第二种要用sum,sum比连接慢,是这样的吗
追答汗 ,在sum(decode(sbbl, 1, je, 0)) 中,起始只有一条数据不为0,其余全为0,
用max(decode(sbbl, 1, je, 0)) 也一样的
有人说第二种要用sum,sum比连接慢,是这样的吗
追答SUM需要做一次加法,连接需要分配磁盘空间,你觉得内存快还是磁盘快呢?
参考技术C 提醒一下,两个sql的可能结果是不一样的。最好结合你的数据试验一下。追问有人说第二种要用sum,sum比连接慢,是这样的吗
追答具体要看数据量有多少以及索引情况,个人认为大多数情况下跨表会比较慢一点。个人意见。
Excel高手请进!谢谢!!如何解除两表之间的公式关联?
表一A、B两列分别为全校学生的学号和银行卡号。表二A列为部分学生的学号,B列是通过公式VLOOKUP从表一搜到的对应学生银行卡号。我想把表一删除,但因为存在公式关联表二B列就会出现错误。请问如何才能解除这种关系,删除表一的同时,表二的B列仍能显示对应学生的银行卡号。谢谢!!
一、解除方法:先把源文件工作表(带有公式)选定,再点击该表最上角的全选按钮,并右键----点击复制,然后粘贴到新文件的空白工作表里,选择性粘贴,数值,确定。
二、EXCEL的使用技巧:
1、右键单击窗口下面的工作表标签,如“Sheet1”.在弹出的菜单中选择“选定全部工作表”
2、如何快速删除单元格信息, 有一排数据,想快速删除这组数据,可以使用“填充删除法”。选中该列空白单元格,将鼠标移至该单元格右下方,鼠标变成黑色十字后,向上拖动填充。整组数列填充空白完成,等于删除了整组数列。
3、excel对每个单元格都有默认的命名方式,即字母+数字,如A7,表示第一列的第七排单元格。如果想按照我们自己的想法去重新命名一个单元格,如,将B7改为“我的单元格”,则首先点击该单元格,,选中左上角的名字,修改为“我的单元格”
4、想快速查看一列或者排的和,可以单击这拍最后一个有数字的单元格,网上拖动全部选择,excel会自动显示选择的这列的。
5、单元格内的数据有批注,格式,内容等等,但是只想要单纯的数字,不需要其他东西时,可以选中该单元格,点编辑——清除,可以选择清除格式,内容,批注,或者全部东西都删除。
6、选中不相邻的单元格,可以先按住ctrl,再进行点击选择。 参考技术A 全选B表数据。复制,右键,选择性粘贴,数值,确定。
可以删除表一了本回答被提问者采纳 参考技术B 复制表B的B列数据,然后右击之,选择性粘贴-数值
这样,可以把公式去除 参考技术C A B
1 姓名 品名
2 李四 苹果
3 李四 香蕉
4 刘二 苹果
5 李四 梨子
6 刘二 梨子
7 王五 香蕉
8 刘二 苹果
9 王五 苹果
10张三 梨子
C D E F
1 空格 苹果 香蕉 梨子
2 李四
3 刘二
4 王五
5 张三
D2=SUMPRODUCT(($A$1:$A$10=$C2)*($B$1:$B$10=D$1))
以上是关于Oracle 表格行列转换,高手请进的主要内容,如果未能解决你的问题,请参考以下文章