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提供了三种基本的查询方式:字符串条件查询.索引 ...
随机推荐
- 使用github的使用,利用git shell命令行模式进行操作
一.登录到git,新建一个版本仓库 二.在"Repository name"一栏里填写版本仓库的名称,如"test",Description栏是描述,可填可不填 ...
- 给Source Insight做个外挂系列之三--构建外挂软件的定制代码框架
上一篇文章介绍了“TabSiPlus”是如何进行代码注入的,本篇将介绍如何构建一个外挂软件最重要的部分,也就是为其扩展功能的定制代码.本文前面提到过,由于windows进程管理的限制,扩展代码必须以动 ...
- JavaScript对象属性(二)
对象object 例子一: var car = { "wheels":4, "engines":1, "seats":5}; 例子二: v ...
- python pip源
pipy国内镜像目前有: http://pypi.douban.com/ 豆瓣 http://pypi.hustunique.com/ 华中理工大学 http://pypi.sdutlinux.o ...
- xmpp openfire smack 介绍和openfire安装及使用
前言 Java领域的即时通信的解决方案可以考虑openfire+spark+smack.当然也有其他的选择. Openfire是基于Jabber协议(XMPP)实现的即时通信服务器端版本,目前建议使用 ...
- 网络监测工具-iftop教程
在类Unix系统中可以使用top查看系统资源.进程.内存占用等信息.查看网络状态可以使用netstat.nmap等工具.若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop. 一.if ...
- jquery toggle方法
$("#myDiv").toggle(function () { alert(1); }, function () { alert(2); }); 某种需求下可以替代click事件 ...
- 对Live Writer支持的继续改进:设置随笔地址别名(EntryName)
在我们发布[功能改进]Live Writer发博支持"建分类.加标签.写摘要"之后,Artech提了一个很好的建议:希望在Live Writer发布随笔时可以设置EntryName ...
- jQuery点击收缩展开滑动显示内容竖直手风琴代码
<div class="position"> <div class="positiontop"> <span class=&quo ...
- 就publish/subscribe功能看redis集群模式下的队列技术(一)
Redis 简介 Redis 是完全开源免费的,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中 ...