网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  讲解数据库中行级转换成列级的应用案例     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:178次  录入:管理员--2008-04-08  
 

【赛迪网:技术社区整理】数据库中行级转换成列级的应用案例:

具体示例如下:

-- firstly,we need to create a table

create table score

(

name varchar(10),

subject varchar(10),

result int

)

go

-- insert some data to score table

insert into score(name , subject , result) values('jason' , 'chinese' , 74)

insert into score(name , subject , result) values('jason' , 'math' , 83)

insert into score(name , subject , result) values('jason' , 'physic' , 93)

insert into score(name , subject , result) values('bosco' , 'chinese' , 74)

insert into score(name , subject , result) values('bosco' , 'math' , 84)

insert into score(name , subject , result) values('bosco' , 'physic' , 94)

go

-- useing pivot operator

select * from

(

select name,subject,result from score

) as x

pivot

(

sum(result) for subject in ([chinese],[math],[physic])

) as pvt

-- useing static sql. there only are [chinese],[math],[physic] values in subject field

select name,

sum(case subject when 'chinese' then result else 0 end) as [chinese],

sum(case subject when 'math' then result else 0 end) as [math],

sum(case subject when 'physic' then result else 0 end) as [physic]

from score

group by name

-- useing dynamic sql. there may be some other values in subject field,don't limited to [chinese],[math],[physic]

declare @sql varchar(2000)

set @sql = 'select name'

select @sql = @sql + ', sum(case subject when ''' + subject + ''' then result else 0 end) [' + subject + ']'

from (select distinct subject from score) as x

set @sql = @sql + ' from score group by name'

exec(@sql)

 
 
上一篇: 深入讲解数据库中user和schema的关系    下一篇: 测试statspack使其可以自动收集系统状况
  相关文档
解析Oracle 9i数据库异常关闭后的启动 08-05
通过SQL定时分析表监控Unix系统性能 04-11
数据库应用系统的开发具体分为哪几个阶段 (1) 03-04
讲解往表中顺序插入n条记录的简易方法 08-12
指定一个where条件来有条件地导出记录 04-03
你对Oracle数据库字符集究竟认识多少? 07-07
用一个实例讲解如何正确使用数据库游标 04-09
Oracle的两个重要文件:TNSNAMES.ORA 05-13
详细讲解有关"cbo"优化的三个疑难问题 02-03
使用简化连接时如何才能不显示输入密码 03-07
“字符型”转换成“日期型”的实例脚本 01-31
怎样在oracle里用存储过程定期分割表 (1) 01-25
Oracle数据库物理文件空间设置方法 04-12
如何才能避免Oracle数据库的密码出现@符号 07-07
windows下oracle 9i数据库文件的自动备份 07-11
oracle数据库各种启动方式的详细介绍 01-25
正确认识oracle peeking绑定变量的控制 01-24
讲解oracle面试过程中常见的二十个问题 04-24
Oracle 数据库集中复制方法逐步精细 05-27
如何使用pipeline function获得实时输出 03-18
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息