背景:

为何说是一雪前耻呢,想当年,我还小,我出去面试远洋,远远地看着浩哥在那里坐着,然后下班去吃饭,我和东辉却在那里静静地等待着第二轮的技术面试(结果是没有面上,一个是学历问题),终于一个小个子姐姐把我领走了,问了我好多问题,像什么WCF啊,MVC啊什么的,都没有问,直接问我,后台怎么样,会写sql吗,我说当然会,在以前主要干后台,他在问的同时就编了好几个问题,其中有一个也是最后一个我没有打上来的问题如下图:

告诉我如何写能输出一下效果:

静静的沉思,歇了一会,想了想,最终说:“对不起,我有点紧张,暂时解决不了”,人家说了句,这个很简单啊,应该怎么样怎么样,她也写了一会,说,肯定能实现,我说:“是”。

我出去工作了一段时间,期间利用sql解决挺多为,也帮助同事去拼sql,终于自己的水平有了一点长进,就在刚才,突然之间我又想起了这段往事,决定去自己解决一下这个问题,功夫不负有心人,完成了,分享一下:

  1. select StudentName,
  2. (select Result from TestTable as RT where RT.StudentName=ST.StudentName and RT.LessonName='语文') as Chinese,
  3. (select Result from TestTable as BT where BT.StudentName=ST.StudentName and BT.LessonName='数学') as Suanshu,
  4. (CASE WHEN (select Result from TestTable as RT where RT.StudentName=ST.StudentName and RT.LessonName='语文')>0 THEN (select Result from TestTable as BT where BT.StudentName=ST.StudentName and BT.LessonName='语文') ELSE 0 END + CASE WHEN (select Result from TestTable as RT where RT.StudentName=ST.StudentName and RT.LessonName='数学')>0 THEN (select Result from TestTable as BT where BT.StudentName=ST.StudentName and BT.LessonName='数学') ELSE 0 END) as Resultsum
  5. from TestTable as ST GROUP BY ST.StudentName ORDER BY resultsum DESC</span>

如果有需要讲解或者更好建议的同志,请qq联系

sql篇,动态合并数据的更多相关文章

  1. SQL存储过程动态查询数据区间

    以前经常看到人查询数据库采用left join及case方式,一条一条的枚举查询整个数据的数据区间方法可行,但是数据一但很大,枚举就死悄悄,在网上查看,几乎全是照抄case ,left join枚举无 ...

  2. Expression构建DataTable to Entity 映射委托 sqlserver 数据库里面金额类型为什么不建议用float,实例告诉你为什么不能。 sql server 多行数据合并成一列 C# 字符串大写转小写,小写转大写,数字保留,其他除外 从0开始用U盘制作启动盘装Windows10系统(联想R720笔记本)并永久激活方法 纯CSS打造淘宝导航菜单栏 C# Winform

    Expression构建DataTable to Entity 映射委托   1 namespace Echofool.Utility.Common { 2 using System; 3 using ...

  3. 如何用asp.net MVC框架、highChart库从sql server数据库获取数据动态生成柱状图

    如何用asp.net MVC框架.highChart库从sql server数据库获取数据动态生成柱状图?效果大概是这样的,如图: 请问大侠这个这么实现呢?

  4. 数据的动态合并和导出至EXCEL

    最近一段时间都在处理数据的动态合并和导出EXCEL的问题,写个demo记录下,希望和我碰到同样问题的博友可以顺利解决:后面会提供demo下载链接. (VS2012,ASP.NET) 一.主要解决以下问 ...

  5. 动态合并Repeater控件数据列

    前天Insus.NET实现<动态合并GridView数据行DataRow的列>.今天再玩玩Repeater控件,功能也是动态合并某列栏位.Repeater控件跟GridView控件一样集成 ...

  6. 动态合并GridView数据行DataRow的列

    前段时间,Insus.NET一直在演示GridView控件Header头行或列:<动态变更GridView控件列名>和<动态合并或定制GridView控件Header头某些列> ...

  7. 数据库合并数据sql

    1.sql2000中只能用自定义的函数解决 )) , 'aa') , 'bb') , 'aaa') , 'bbb') , 'ccc') go )) ) as begin ) select @str = ...

  8. Python 学习 第17篇:从SQL Server数据库读写数据

    在Python语言中,从SQL Server数据库读写数据,通常情况下,都是使用sqlalchemy 包和 pymssql 包的组合,这是因为大多数数据处理程序都需要用到DataFrame对象,它内置 ...

  9. 一篇了解大数据架构及Hadoop生态圈

    一篇了解大数据架构及Hadoop生态圈 阅读建议,有一定基础的阅读顺序为1,2,3,4节,没有基础的阅读顺序为2,3,4,1节. 第一节 集群规划 大数据集群规划(以CDH集群为例),参考链接: ht ...

随机推荐

  1. CentOS更新yum源

    CentOS更新yum源 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2.下载 ...

  2. android通过Canvas和Paint截取无锯齿圆形图片

    一个通过Canvas和Paint截取无锯齿圆形图片. /** * 根据原图和变长绘制圆形图片 * * @param source * @param min * @return */ public st ...

  3. 【leetcode】Best Time to Buy and Sell 2(too easy)

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  4. 【Git】笔记2

    来源:廖雪峰 安装git(ubuntu) sudo apt-get install git 创建版本库(repository)  在想生成版本库的文件夹下输入: git init 指定用户名和邮箱 g ...

  5. LeetCode 263 Ugly Number

    Problem: Write a program to check whether a given number is an ugly number. Ugly numbers are positiv ...

  6. POJ 1222 EXTENDED LIGHTS OUT (高斯消元)

    题目链接 题意:5*6矩阵中有30个灯,操作一个灯,周围的上下左右四个灯会发生相应变化 即由灭变亮,由亮变灭,如何操作使灯全灭? 题解:这个问题是很经典的高斯消元问题.同一个按钮最多只能被按一次,因为 ...

  7. MAC系统下,删除.svn文件

    MAC系统下,.svn文件是隐藏的. 如果项目是非export导出的,那么项目中会有很多的.svn文件. 如果项目的体积非常庞大,我们如何快速的批量删除.svn文件呢?下面是操作方法: 打开终端,cd ...

  8. 修改VS2010生成的dll文件中的内容

    我的电脑是64为的操作系统,所以先找到下面的路径 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin 找到这个文件:ildasm.exe,如 ...

  9. supersr--时间显示逻辑-->NSDate+NSCalendar

    一种:时间逻辑: - (NSString *)created_at{ //    从后台返回的字符串格式:Mon Aug 03 09:17:31 +0800 2014, //NSDateFormatt ...

  10. August 16th 2016 Week 34th Tuesday

    The worst solitude is to be destitute of sincere friendship. 最大的孤独莫过于没有真诚的友谊. Sometimes we pay the m ...