sql server 纵表转横表
来源:互联网 发布:github for mac ssh 编辑:程序博客网 时间:2024/05/16 17:21
原帖地址:http://blog.csdn.net/kong2005/archive/2010/06/24/5692023.aspx
演示如下:
1.建表:
create table tb
(
Name varchar(10) ,
Subject varchar(10) ,
Result int
)
2.插入数据:
insert into tb(Name , Subject , Result) values('张三' , '语文' , 74)
insert into tb(Name , Subject , Result) values('张三' , '数学' , 83)
insert into tb(Name , Subject , Result) values('张三' , '物理' , 93)
insert into tb(Name , Subject , Result) values('李四' , '语文' , 74)
insert into tb(Name , Subject , Result) values('李四' , '数学' , 84)
insert into tb(Name , Subject , Result) values('李四' , '物理' , 94)
3.纵表转横表,静态方式:
select name 姓名,
max(case subject when '语文' then result else 0 end) 语文,
max(case subject when '数学' then result else 0 end) 数学,
max(case subject when '物理' then result else 0 end) 物理
from tb
group by name
3.纵表转横表,动态方式:
declare @sql varchar(8000)
set @sql = 'select Name as ' + '姓名'
select @sql = @sql + ' , max(case Subject when ''' + Subject + ''' then Result else null end) [' + Subject + ']'
from (select distinct Subject from tb) as a
print(@sql)
set @sql = @sql + ' from tb group by name'
exec(@sql)
--print(@sql)
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kong2005/archive/2010/06/24/5692023.aspx
- sql server 纵表转横表
- sql server 纵表转横表
- sql server
- SQL SERVER
- sql server
- SQL Server
- SQL Server
- SQL SERVER
- SQL Server
- sql server
- sql server
- SQL SERVER
- SQL Server
- SQL SERVER
- SQL Server
- SQL SERVER
- sql server
- sql server
- 浅谈JAVA中的日志文件
- 总是有些莫名其妙的问题让人晕头转向
- 函数的代入(面试题)
- JSP页面显示乱码,表单提交中出现乱码,数据库连接乱
- 关于C#中实现两个应用程序消息通讯的问题
- sql server 纵表转横表
- FusionCharts 参数设置
- fedora root 图形界面登陆
- 关于WINDOWS超级终端的使用来调试MODEM,串口.
- Android 下实现带有图标和Checkbox的 ListView Item
- 关于C#中实现两个应用程序消息通讯的问题
- 创建指定大小的空文件
- Eclipse/MyEclipse模版使用方法
- Android 下实现带有图标和Checkbox的 ListView Item(2)