请教大家一个问题。如何实现[行转列\列转行]?
原图如下:
http://hi.csdn.net/attachment/201007/15/146606_1279186853cGzG.jpg我想实现这种效果:列字段为[公司名称].
指标名称 土木公司 一分司 ……
合同额 4243 442
经营额 424 432
……
原图如下:
http://hi.csdn.net/attachment/201007/15/146606_1279186853cGzG.jpg我想实现这种效果:列字段为[公司名称].
指标名称 土木公司 一分司 ……
合同额 4243 442
经营额 424 432
……
解决方案 »
- windows server 2003 重启之后 oracle无法启动 问题
- 数据库
- Sql批量更新效率问题(数据量比较多,运行效率低下)
- 在win2000环境下安装developer6.0出错(也许是developer2000)
- 为什么出现ORA-12154:TNS:无法处理服务名
- 关于一个ORCALE触发器的问题
- 急!Oracle作业调度问题,为何老是失败
- 查询功能的SQL语句求助:表A与表B中都有同一字段Comm,想实现从表A中进行查询取得查询结果集,而结果集中每个Comm字段的值从表B中可能获
- 多实例 job 中存储过程运行问题
- 如何对字符串行列转换
- 单行子查询返回多个结果
- 请问VIEW里面的SQL的执行计划会随着什么变化?
create table tb
(company varchar2(20),contacts number(18,2),sales number(18,2),profits number(18,2));insert into tb values('土木公司',578760,89080,42420);
insert into tb values('一分司',1000.56,42323,5607.32);
insert into tb values('北京公司',324,7654,565);
insert into tb values('二分司',3534,245,7464);select catalog "指标名称",
max(decode(company,'土木公司',amount)) "土木公司",
max(decode(company,'一分司',amount)) "一分司",
max(decode(company,'北京公司',amount)) "北京公司",
max(decode(company,'二分司',amount)) "二分司"
from (select company,
decode(rn,1,'合同额',2,'营业额',3,'利润额') catalog,
decode(rn,1,contacts,2,sales,3,profits) amount
from tb, (select rownum rn from dual connect by rownum<4) t) t
group by catalog;
/*
指标名称 土木公司 一分司 北京公司 二分司
---- ---------------------- ---------------------- ---------------------- ----------------------
合同额 578760 1000.56 324 3534
营业额 89080 42323 7654 245
利润额 42420 5607.32 565 7464
*/drop table tb purge;