zoukankan      html  css  js  c++  java
  • sql篇,动态合并数据

    背景:

           为何说是一雪前耻呢,想当年,我还小,我出去面试远洋,远远地看着浩哥在那里坐着,然后下班去吃饭,我和东辉却在那里静静地等待着第二轮的技术面试(结果是没有面上,一个是学历问题),终于一个小个子姐姐把我领走了,问了我好多问题,像什么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联系

  • 相关阅读:
    Linux搭建测试环境详细步骤
    MongoDB基本查询
    数据库常用sql语句
    Js apply和call
    js中的事件委托
    javascript中的事件处理
    <a>标签的属性
    js中预加载图片
    Yahoo团队:网站性能优化的35条黄金准则
    js中用到的正则表达式
  • 原文地址:https://www.cnblogs.com/DoubleEggs/p/5756641.html
Copyright © 2011-2022 走看看