标题:求 实际开发中oracle 行转列 列转行的 sql语句 实例
只看楼主
tangkou
Rank: 1
等 级:新手上路
帖 子:55
专家分:7
注 册:2010-7-28
结帖率:57.14%
 问题点数:0 回复次数:0 
求 实际开发中oracle 行转列 列转行的 sql语句 实例
程序代码:
列转行 

Create table test (name char(10),km char(10),cj int) 

insert test values('张三','语文',80)
insert test values('张三','数学',86)
insert test values('张三','英语',75)
insert test values('李四','语文',78)
insert test values('李四','数学',85)
insert test values('李四','英语',78) 

select name,
sum(decode(km,'语文',CJ,0)) 语文 ,
sum(decode(km,'数学',cj,0)) 数学,
sum(decode(km,'英语',cj,0)) 英语
from test1
group by name 

姓名 语文 数学 英语
张三 80 86 75
李四 78 85 78 


行转列 

select 姓名, decode(rn, 1, 语文, 2, 数学, 3,英语)
from test1 , (select level rn from dual connect by 1=1 and level <=3) 
我在网上 找的这个 不怎么看的懂,,,select level rn from dual connect by 1=1 and level <=3)
rn 是什么啊 ?dual? 去数据库我对应改了一下执行也不对 ?
 有谁能帮指点 一下
搜索更多相关主题的帖子: oracle 实例 sql 语句 转行 
2010-10-28 16:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-324268-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.574067 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved