网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > 数据库 > 正文

行列转换等经典SQL语句

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

在企业应用中,经常会开发报表系统,而在报表中又经常用到行列转换,这里有一个经典的应用实例:
原表:  

           姓名    科目   成绩
           张三     语文    80
           张三     数学    90
           张三     物理    85
           李四     语文    85
           李四     物理    82
           李四     英语    90
           李四     政治    70
           王五     英语    90

转换后的表: 

           姓名     数学    物理     英语    语文    政治 
           李四              82        90      85       70
           王五                      90              0
           张三        90      85              80        0

实例:

  1. Declare @sql varchar(8000) 
  2. Set @sql = 'Select Name as 姓名' 
  3. Select @sql = @sql + ',sum(case Subject when '''+Subject+''' then Result else 0 end) ['+Subject+']' 
  4. from (select distinct Subject from cj) as cj  --把所有唯一的科目的名称都列举出来 
  5. Select @sql = @sql+' from cj group by name' 
  6. Exec (@sql) 

 

 

设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师