SqlServer2000下实现行列转换

2011-04-06 22:07:07|  分类: SQL Server |  标签:sqlserver  2000  行列转换  sql  |举报|字号 订阅

 
 
create table tb(姓名 nvarchar(50),课程 nvarchar(50),分数 int)

insert into tb values('张三' , '语文' , 74)
insert into tb values('张三' , '数学' , 83)
insert into tb values('张三' , '物理' , 93)
insert into tb values('李四' , '语文' , 74)
insert into tb values('李四' , '数学' , 84)
insert into tb values('李四' , '物理' , 94)
1.静态实现
select 姓名,
          max( case 课程 when '语文'  then  分数  else 0 endas 语文,
          max( case 课程 when '数学'  then  分数  else 0 end) as 数学,
          max( case 课程 when '物理'  then  分数  else 0 endas 物理
from tb group by 姓名
2.动态实现
declare @sql nvarchar(500)
set @sql='select 姓名'

select @sql=@sql+',max(case 课程 when '''+课程+''' then 分数 else 0 end )  '+课程+''   --这句话不太理解 
from (select distinct 课程 from tb) as a

set @sql=@sql+' from tb group by 姓名'
exec(@sql)

 
 
 
阅读(459)| 评论(0

最新文章

  1. .NET笔记(二)
  2. yii 核心类classes.php详解(持续更新中...)
  3. 转发 win7+iis7.5+asp.net下 CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files 解决方案
  4. 《JavaScript权威指南》学习笔记 第二天 下好一盘大棋
  5. CSS特性: 继承 和 层叠
  6. Struts2拦截器的应用
  7. Uva 10596 - Morning Walk 欧拉回路基础水题 并查集实现
  8. Adobe Edge Animate –使用css制作菜单
  9. keydown和keypress
  10. ENC28j60以太网芯片驱动程序简介
  11. JavaScript--我发现,原来你是这样的JS(基础概念--灵魂篇,一起来学js吧)
  12. HDU 2602 Bone Collector(01背包裸题)
  13. qt 布局
  14. Problem - 1062 http://acm.hdu.edu.cn/showproblem.php?pid=1062
  15. Lodop打印设计、维护、预览、直接打印简单介绍
  16. RDMA技术解析
  17. golang解析json配置文件
  18. Kubernetes kubectl 命令
  19. vmware参数详解
  20. Spring Boot REST

热门文章

  1. DeviceToken 获取失败,原因:Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的授权字符串"...
  2. MySQL FROM 子查询
  3. java swing 音乐播放器-乐乐音乐
  4. C# 截取字符串,区分中英文情况
  5. GUI对话框
  6. Qt5中QMessageBox::warning()的第一个参数写this时出错
  7. 编辑一个类库项目 即*.csproj这个文件的正确方式
  8. mysql版本问题sql_mode=only_full_group_by
  9. php的冒泡算法
  10. Js自动截取字符串长度,添加省略号“……”