------------------case---when-------的使用---------------------

select  userAccount , eatingDate ,
    case when sum(a)=1 then'早餐' else '' end   as 'breakfast' ,
    case when sum(b)=1 then '午餐' else '' end  as 'lunch',
    case when sum(c)=1 then '晚餐' else '' end  as 'dinner'
    from (
        select  userAccount , eatingDate ,
           case when menuType='早餐' then 1 else 0 end  AS a ,
           case when menuType='午餐' then 1 else 0 end  AS b ,
           case when menuType='晚餐' then 1 else 0 end  AS c
        from view_menuReservation
           where userAccount = '7923'
           and eatingDate between '2016-12-01' and'2016-12-31'
    ) t  
    group by userAccount ,eatingDate
    order by eatingDate asc

---------------------查询的时候嵌套子查询-----------------------------------------

SELECT tb.account, '2016-10'  month,
    ( max(CASE signStatus WHEN '准时' THEN total ELSE 0 END )+
     max(CASE signStatus WHEN '调休' THEN total ELSE 0 END)+
     max(CASE signStatus WHEN '迟到' THEN total ELSE 0 END)
     ) sumDay,
    (max(CASE signStatus WHEN '准时' THEN total ELSE 0 END)
   + max(CASE signStatus WHEN '调休' THEN total ELSE 0 END)) onTime,
     max(CASE signStatus WHEN '迟到' THEN total ELSE 0 END) late,
     max(CASE signStatus WHEN '请假' THEN total ELSE 0 END) leave,
     max(CASE signStatus WHEN '早退' THEN total ELSE 0 END) absenteeism,
    ( select count(*) from tb_workAttendance
where workStatus='加班' and
docdate between '2016-10-1' and '2016-10-31' and account = tb.account and signType='上班'  group by workStatus) overtime,
    0 dayOff,
    (select sum (totalHour) totalHour  from tb_restApply where  docdate between '2016-11-01' and '2016-11-30' and account=tb.account group by account) totalHour
     from(
     select count(1) total, signStatus, account
     from tb_workAttendance
     where docdate between '2016-10-1' and '2016-10-31'
     group by signStatus,account)
     tb
     group by account

-----------------------------------------------------------------------------------

T-sql 查询的更多相关文章

  1. SQL常见优化Sql查询性能的方法有哪些?

    常见优化Sql查询性能的方法有哪些? 1.查询条件减少使用函数,避免全表扫描 2.减少不必要的表连接 3.有些数据操作的业务逻辑可以放到应用层进行实现 4.可以使用with as 5.使用“临时表”暂 ...

  2. 记一个简单的sql查询

    在我们做各类统计和各类报表的时候,会有各种各样的查询要求.条件 这篇主要记录一个常见的统计查询 要求如下: 统计一段时间内,每天注册人数,如果某天没有人注册则显示为0 现在建个简单的表来试试 建表语句 ...

  3. Oracle常用SQL查询(2)

    三.查看数据库的SQL 1 .查看表空间的名称及大小 select  t.tablespace_name,  round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...

  4. MySQL GROUP_CONCAT函数使用示例:如何用一个SQL查询出一个班级各个学科第N名是谁?

    如何用一个SQL查询出一个班级各个学科第N名是谁? 首先贴出建表语句,方便大家本地测试: -- 建表语句 CREATE TABLE score ( id INT NOT NULL auto_incre ...

  5. SQL查询第m条到第n条的方法

    SQL查询第m条到第n条的方法 如表名为GOOD Sselect top (n-m) * from GOODS where (某一列名) not in (select top m (某一列名) fro ...

  6. Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询

    1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...

  7. slick for play 使用原生sql查询以及拼接sql

    在play中用函数式框架slick来操作数据库是一件很爽的事情.但有时因为某些特殊场景又不得不用原生的sql了. 还好slick支持这种写法,可以看看slick官方文档,Slick Plain SQL ...

  8. SQL查询每个表的字段数量

    --SQL查询每个表的字段数量select b.[name], count(*) As AllCount,ISNULL(ISNULL(sum(case when isnullable=0 then 1 ...

  9. SQL查询关于相对路径、矢代、绝对路径、递归、计算列的速度对比跟优化-SOD群记录

    1秒查原本递归的查询. 适用于:上下级.多层查询 -- Get childs by parent id WITH Tree AS ( SELECT Id,ParentId FROM dbo.Node ...

  10. ThinkPHP(3)SQL查询语句

    ThinkPHP中对查询语句,包含了基本的查询方式.表达方式.快速查询.区间查询.组合查询.SQL查询.动态查询和子查询. 一.查询方式 ThinkPHP提供了三种基本的查询方式:字符串条件查询.索引 ...

随机推荐

  1. C# 根据年月日获取星期几方法

    #region 根据年月日计算星期几(Label2.Text=CaculateWeekDay(2004,12,9);) /// <summary> /// 根据年月日计算星期几(Label ...

  2. JAVA(IO流)文件复制

    package com.am; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOEx ...

  3. macOS 10.12 解决模拟器不流畅的一段命令行

    sudo sysctl -w kern.timer.coalescing_enabled=0

  4. mysql实现分组和组内序号

    SELECT CASE WHEN @mid = t.PAY_TIME THEN ELSE END SEQ, @mid := t.PAY_TIME, t.AMOUNTS, t.CHARGE_PRICE, ...

  5. JAVA 对象调用理解图

  6. TID大会学习心得之敏捷软件架构-微服务

    敏捷微服务构建 王威: TW咨询师.架构转型教练.敏捷技术教练 敏捷的目标 敏捷的目标是提升效率?降低成本?减员增效? 敏捷:关注价值.快速反馈.快速响应.其的目标是提升响应力,响应力的提升不一定会提 ...

  7. QList

    #include <QCoreApplication> #include<QList> #include<QDebug> int main(int argc, ch ...

  8. ios10 safari 的坑!

    | 导语 ios10 的safari,又给前端开发者挖坑了..测试验证此问题只出现在ios10 safari中.想早点知道结论的,可以直接看最后一个结论~因为,解决过程不重要! 个人原创,未经允许,禁 ...

  9. 纯手写SpringMVC架构,用注解实现springmvc过程

    1.第一步,首先搭建如下架构,其中,annotation中放置自己编写的注解,主要包括service controller qualifier RequestMapping 第二步:完成对应的anno ...

  10. 使用struts的logic:iterate标签遍历列表时得到显示序号

    <logic:notEmpty name="sList" scope="request"> <logic:iterate id="e ...