解决方案 »
- 行转列的时候怎么过滤掉重复字段值?row_number() over partition by
- 高分求解决方案
- 为什么在游标里用rownum,没有得到正确的数据
- 关于:外网访问oracle服务器的问题?
- 一个比较简单的PL/SQL语句的问题
- C#和oracle的程序由于小弟刚学所以不知道此错误在什么地方,各位大哥请进!!!
- oracle9i imp-00003,imp-00017..问题求解!请高手指点!
- 对于日期时间型数据,我能以某种指定格式来进行存储吗?
- 有关PL/SQL的几个问题!急!!!
- 请问如何分区,按某个字段(类型是varchar2)的值或者按范围分(在线等待!)
- oracle表的主键为什么不能用Number类型?
- Oracle中数据横向集成问题,行转列
'A',
sum(decode(a.d1,'A',1,0)) as d1,
sum(decode(a.d2,'A',1,0)) as d2
from tab aunionselect
'B',
sum(decode(a.d1,'B',1,0)) as d1,
sum(decode(a.d2,'B',1,0)) as d2
from tab a-- 继续union就行了
sum(decode(D5,'A',1,0)) D5,sum(decode(D6,'A',1,0)) D6 from 表名
union all
select 'B',sum(decode(D1,'B',1,0)),sum(decode(D2,'B',1,0)),sum(decode(D3,'B',1,0)),sum(decode(D4,'B',1,0)),
sum(decode(D5,'B',1,0)),sum(decode(D6,'B',1,0)) from 表名
union all
select 'C',sum(decode(D1,'C',1,0)),sum(decode(D2,'C',1,0)),sum(decode(D3,'C',1,0)),sum(decode(D4,'C',1,0)),
sum(decode(D5,'C',1,0)),sum(decode(D6,'C',1,0)) from 表名
union all
select 'D',sum(decode(D1,'D',1,0)),sum(decode(D2,'D',1,0)),sum(decode(D3,'D',1,0)),sum(decode(D4,'D',1,0)),
sum(decode(D5,'D',1,0)),sum(decode(D6,'D',1,0)) from 表名;select a.val,sum(decode(b.d1,a.val,1,0)) d1,sum(decode(b.d2,a.val,1,0)) d2,sum(decode(b.d3,a.val,1,0)) d3,
sum(decode(b.d4,a.val,1,0)) d4,sum(decode(b.d5,a.val,1,0)) d5,sum(decode(b.d6,a.val,1,0)) d6
from (select 'A' val from dual union select 'B' from dual union select 'C' from dual union select 'D' from dual ) a,
表名 b where a.val=b.d1 or a.val=b.d2 or a.val=b.d3 or a.val=b.d4 or a.val=b.d5 or a.val=b.d6
group by a.val