数据库列转换为行
来源:互联网 发布:mac版的qq截图快捷键 编辑:程序博客网 时间:2024/05/17 16:13
数据库列转换为行
假设有张学生成绩表(tb)如下:
Name Subject Result
张三 语文 74
张三 数学 83
张三 物理 93
李四 语文 74
李四 数学 84
李四 物理 94
想变成
姓名 语文 数学 物理
---------- ----------- ----------- -----------
李四 74 84 94
张三 74 83 93
SQL 语句如下:
create table tb ( Name varchar(10) , Subject varchar(10) , Result int ) 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) go --静态SQL,指subject只有语文、数学、物理这三门课程。 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 --动态SQL,指subject不止语文、数学、物理这三门课程。 declare @sql varchar(8000) set @sql = 'select Name as ' + '姓名' select @sql = @sql + ' , max(case Subject when ''' + Subject + ''' then Result else 0 end) [' + Subject + ']' from (select distinct Subject from tb) as a set @sql = @sql + ' from tb group by name' exec(@sql)
0 0
- 数据库列转换为行
- MySQL数据库行转换为列的2种方法
- oracle列转换为行
- oracle列转换为行
- Mysql行转换为列
- 把查询结果列转换为行
- 列记录转换为行记录
- 行记录转换为列记录
- SQL 数据库行转换成列
- 数据库中行列转换
- 普通列转换为标识列
- 把以',' 分隔的列转换为行,读取出来
- 多个汇总列转换为行记录 mssql
- 行转列,多列的数据合并为一行,行转换
- 数据库将字符串转换为多行
- 用Java转换n行m列的二维数组转换为m行n列的数组输出
- 数值转换为Excel列标的算法
- oracle实现某一列的值转换为列标题
- 串口通信常用API
- Android开发ToggleButton控件的学习
- ARM Linux系统的时钟机制
- js时间格式的转换 和时间的计算
- opengl 2.0 shader简单示例
- 数据库列转换为行
- OCP 1Z0 052 116
- session失效,使用ajax请求数据被拦截,此时正常的处理逻辑是跳到登录界面,而不是界面没有变化(java判断是否是ajax请求)
- win7的UPnP如何打开/关闭
- 安卓系统下访问Web Service 的知识总结
- testing and SQA_动态白盒测试
- android中使用SoftRefrence解决Bitmap过大内存溢出问题
- [转]右键点击树控件的一项时候GetSelectedItem获取值错误问题
- PB窗口居中的实现方法