T-sql 查询
------------------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 查询的更多相关文章
- SQL常见优化Sql查询性能的方法有哪些?
常见优化Sql查询性能的方法有哪些? 1.查询条件减少使用函数,避免全表扫描 2.减少不必要的表连接 3.有些数据操作的业务逻辑可以放到应用层进行实现 4.可以使用with as 5.使用“临时表”暂 ...
- 记一个简单的sql查询
在我们做各类统计和各类报表的时候,会有各种各样的查询要求.条件 这篇主要记录一个常见的统计查询 要求如下: 统计一段时间内,每天注册人数,如果某天没有人注册则显示为0 现在建个简单的表来试试 建表语句 ...
- Oracle常用SQL查询(2)
三.查看数据库的SQL 1 .查看表空间的名称及大小 select t.tablespace_name, round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...
- MySQL GROUP_CONCAT函数使用示例:如何用一个SQL查询出一个班级各个学科第N名是谁?
如何用一个SQL查询出一个班级各个学科第N名是谁? 首先贴出建表语句,方便大家本地测试: -- 建表语句 CREATE TABLE score ( id INT NOT NULL auto_incre ...
- SQL查询第m条到第n条的方法
SQL查询第m条到第n条的方法 如表名为GOOD Sselect top (n-m) * from GOODS where (某一列名) not in (select top m (某一列名) fro ...
- Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询
1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...
- slick for play 使用原生sql查询以及拼接sql
在play中用函数式框架slick来操作数据库是一件很爽的事情.但有时因为某些特殊场景又不得不用原生的sql了. 还好slick支持这种写法,可以看看slick官方文档,Slick Plain SQL ...
- SQL查询每个表的字段数量
--SQL查询每个表的字段数量select b.[name], count(*) As AllCount,ISNULL(ISNULL(sum(case when isnullable=0 then 1 ...
- SQL查询关于相对路径、矢代、绝对路径、递归、计算列的速度对比跟优化-SOD群记录
1秒查原本递归的查询. 适用于:上下级.多层查询 -- Get childs by parent id WITH Tree AS ( SELECT Id,ParentId FROM dbo.Node ...
- ThinkPHP(3)SQL查询语句
ThinkPHP中对查询语句,包含了基本的查询方式.表达方式.快速查询.区间查询.组合查询.SQL查询.动态查询和子查询. 一.查询方式 ThinkPHP提供了三种基本的查询方式:字符串条件查询.索引 ...
随机推荐
- C# 根据年月日获取星期几方法
#region 根据年月日计算星期几(Label2.Text=CaculateWeekDay(2004,12,9);) /// <summary> /// 根据年月日计算星期几(Label ...
- JAVA(IO流)文件复制
package com.am; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOEx ...
- macOS 10.12 解决模拟器不流畅的一段命令行
sudo sysctl -w kern.timer.coalescing_enabled=0
- mysql实现分组和组内序号
SELECT CASE WHEN @mid = t.PAY_TIME THEN ELSE END SEQ, @mid := t.PAY_TIME, t.AMOUNTS, t.CHARGE_PRICE, ...
- JAVA 对象调用理解图
- TID大会学习心得之敏捷软件架构-微服务
敏捷微服务构建 王威: TW咨询师.架构转型教练.敏捷技术教练 敏捷的目标 敏捷的目标是提升效率?降低成本?减员增效? 敏捷:关注价值.快速反馈.快速响应.其的目标是提升响应力,响应力的提升不一定会提 ...
- QList
#include <QCoreApplication> #include<QList> #include<QDebug> int main(int argc, ch ...
- ios10 safari 的坑!
| 导语 ios10 的safari,又给前端开发者挖坑了..测试验证此问题只出现在ios10 safari中.想早点知道结论的,可以直接看最后一个结论~因为,解决过程不重要! 个人原创,未经允许,禁 ...
- 纯手写SpringMVC架构,用注解实现springmvc过程
1.第一步,首先搭建如下架构,其中,annotation中放置自己编写的注解,主要包括service controller qualifier RequestMapping 第二步:完成对应的anno ...
- 使用struts的logic:iterate标签遍历列表时得到显示序号
<logic:notEmpty name="sList" scope="request"> <logic:iterate id="e ...