SqlServer2000下实现行列转换
2024-10-15 09:10:40
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 end) as 语文,
max( case 课程 when '数学' then 分数 else 0 end) as 数学,
max( case 课程 when '物理' then 分数 else 0 end) as 物理
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
最新文章
- .NET笔记(二)
- yii 核心类classes.php详解(持续更新中...)
- 转发 win7+iis7.5+asp.net下 CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files 解决方案
- 《JavaScript权威指南》学习笔记 第二天 下好一盘大棋
- CSS特性: 继承 和 层叠
- Struts2拦截器的应用
- Uva 10596 - Morning Walk 欧拉回路基础水题 并查集实现
- Adobe Edge Animate –使用css制作菜单
- keydown和keypress
- ENC28j60以太网芯片驱动程序简介
- JavaScript--我发现,原来你是这样的JS(基础概念--灵魂篇,一起来学js吧)
- HDU 2602 Bone Collector(01背包裸题)
- qt 布局
- Problem - 1062 http://acm.hdu.edu.cn/showproblem.php?pid=1062
- Lodop打印设计、维护、预览、直接打印简单介绍
- RDMA技术解析
- golang解析json配置文件
- Kubernetes kubectl 命令
- vmware参数详解
- Spring Boot REST
热门文章
- DeviceToken 获取失败,原因:Error Domain=NSCocoaErrorDomain Code=3000 ";未找到应用程序的“aps-environment”的授权字符串";...
- MySQL FROM 子查询
- java swing 音乐播放器-乐乐音乐
- C# 截取字符串,区分中英文情况
- GUI对话框
- Qt5中QMessageBox::warning()的第一个参数写this时出错
- 编辑一个类库项目 即*.csproj这个文件的正确方式
- mysql版本问题sql_mode=only_full_group_by
- php的冒泡算法
- Js自动截取字符串长度,添加省略号“……”