永发信息网

oracle行转列

答案:2  悬赏:30  手机版
解决时间 2021-12-20 21:33
t1 销售类型(c1) 总金额(c2) 总数量(c3) 产品名(c4)
A 100 50 红
B 101 51 黄
C 102 52 绿
====> t2 c1 红 黄 绿
金额 100 101 102
数量 50 51 52
类型 A B C
如何转变??

oracle数据库
最佳答案
不知道合格不?
SELECt '金额' as c1,
To_char (sum(decode(品名, '红', 金额, null))) AS 红,
To_char (sum(decode(品名, '黄', 金额, null))) AS 黄,
To_char (sum(decode(品名, '绿', 金额, null))) AS 绿
FROM TEST
union all
SELECt '数量' as c1,
To_char (sum(decode(品名, '红', 数量, null))) AS 红,
To_char (sum(decode(品名, '黄', 数量, null))) AS 黄,
To_char (sum(decode(品名, '绿', 数量, null))) AS 绿
FROM TEST
union all
SELECt '类型' as c1,
replace (sum(replace (decode(品名, '红', 类型, null),'A',1)),1,'A') AS 红,
replace (sum(replace (decode(品名, '黄', 类型, null),'B',2)),2,'B') AS 黄,
replace (sum(replace (decode(品名, '绿', 类型, null),'C',3)),3,'C') AS 绿
FROM TEST
全部回答
测试表测了下,可以用,你看看,主要是先根据逗号进行分割,然后connect,level等于逗号的数目: select id,nvl(substr(glbh,instr(glbh,',',1,lvl)+1,instr(glbh,',',1,lvl+1)-instr(glbh,',',1,lvl)-1),'kong') glbh from ( select id,lvl,','||glbh||',' glbh from test a , (select level lvl from dual connect by level<= (select max(length(glbh)-length(replace(glbh,',')))+1 from test)) b ) t1 where substr(glbh,instr(glbh,',',1,lvl)+1,instr(glbh,',',1,lvl+1)-instr(glbh,',',1,lvl)-1) is not null order by id,glbh;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
梦见抓到一只乌龟
2008年9月27日17时00分35秒,神舟七号成功完
如何让自己有酒窝
钻石什么形状好
妙山江村地址好找么,我有些事要过去
长虹pf2939a彩电屡烧逆程电容
京东快递为什么这么快?
到2020年,要实现城乡、区域发展差距扩大的趋
暂住证告知单去派出所办理就可以了吗?去办理
天津运输管理处发布了出租车收费标准,起步价3
用简略的句子谈一谈指纹有哪些用处
王者荣耀手柄指向技能,有些逃生技能怎么弄呢
第九英语怎么写
“扁担宽板凳长,扁担想绑在板凳上……各种颜
用英语怎么说下面由我来介绍一下本地的情况
推荐资讯
有5个数的平均数是20.如果把其中的一个数改
大功告成是什么意思
落枕快一个月了,每星期都会去按摩,但是没有
请写出一个一元二次方程,使其一根为2,你所
我在4s店定了车,付的是定金还是订金?
八字算命五行缺什么
滁州市全椒县地税局地址有知道的么?有点事想
请问螃蟹是公的大还是母的大?
爸爸妈妈吵架了,原因是昨天妈妈喝醉了,然后
有的花朵没花瓣
游乐项目英文怎么说
他走了,但苹果永远不会落地阅读答案
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?