SELECT t_1.pk_psndoc pk_psndoc,
t_1.pk_group pk_group,
t_1.pyear pyear,
t_1.month month,
t_1.code psncode,
t_1.name psnname,
t_1.glbdef1 glbdef1,
t_1.thisyearyial thisyearyial,
t_1.lastal lastal,
t_1.lastbx lastbx,
nvl(t_1.annualleave, ) annualleave,
nvl(t_1.absenceleave, ) absenceleave,
nvl(t_1.sickleave, ) sickleave,
nvl(t_1.compensatedleave, ) compensatedleave,
t_1.yxhunjia yxhunjia,
t_1.yxsangjia yxsangjia,
t_1.yxgongshang yxgongshang,
t_1.yxchanjia yxchanjia,
t_1.yxchanjian yxchanjian,
t_1.yxpeichan yxpeichan,
t_1.yxshijia yxshijia,
t_1.yxbingjia yxbingjia,
t_1.yxnianjia yxnianjia,
t_1.jynianjia jynianjia,
t_1.jybuxiu jybuxiu,
hi_psnjob.pk_dept pk_dept
FROM (SELECT ld.ym ym,
psn.pk_group pk_group,
psn.pk_psndoc pk_psndoc,
psn.code code,
psn.name name,
psn.glbdef1 glbdef1,
bal.thisyearyial thisyearyial,
bal.lastal lastal,
tbbxv.lastbx lastbx,
bal.yxhunjia yxhunjia,
bal.yxsangjia yxsangjia,
bal.yxgongshang yxgongshang,
bal.yxchanjia yxchanjia,
bal.yxchanjian yxchanjian,
bal.yxpeichan yxpeichan,
bal.yxshijia yxshijia,
bal.yxbingjia yxbingjia,
bal.yxnianjia yxnianjia,
bal.jynianjia jynianjia,
bal.jybuxiu jybuxiu,
ld.annualleave annualleave,
ld.absenceleave absenceleave,
ld.sickleave sickleave,
ld.compensatedleave compensatedleave
FROM bd_psndoc psn
INNER JOIN leave_daily ld
ON ld.pk_psnodc = psn.pk_psndoc
AND ld.pk_org = psn.pk_org
INNER JOIN (SELECT tbbx.pk_org pk_org,
tbbx.pk_psndoc pk_psndoc,
tbbx.curyear curyear,
sum(CASE
WHEN tbbx.pk_timeitem = '10018G1000000000BM2L' THEN
tbbx.realdayorhour - tbbx.yidayorhour -
tbbx.freezedayorhour
ELSE END) lastbx
FROM tbm_leavebalance tbbx
GROUP BY tbbx.pk_org, tbbx.pk_psndoc, tbbx.curyear) tbbxv
ON psn.pk_psndoc = tbbxv.pk_psndoc
AND psn.pk_org = tbbxv.pk_org
AND tbbxv.curyear = substr(ld.ym, , ) -
INNER JOIN (SELECT tb.pk_org pk_org,
tb.pk_psndoc pk_psndoc,
tb.curyear curyear,
sum(CASE
WHEN tb.pk_timeitem = '1002Z710000000021ZLJ' THEN
tb.curdayorhour
ELSE END) thisyearyial,
sum(CASE
WHEN tb.pk_timeitem = '1002Z710000000021ZLJ' THEN
tb.lastdayorhour
ELSE END) lastal,
sum(CASE
WHEN tb.pk_timeitem = '1002Z710000000021ZLF' THEN
tb.yidayorhour + tb.freezedayorhour
ELSE END) yxhunjia,
sum(CASE
WHEN tb.pk_timeitem = '1002Z710000000021ZLN' THEN
tb.yidayorhour + tb.freezedayorhour
ELSE END) yxsangjia,
sum(CASE
WHEN tb.pk_timeitem = '1002Z710000000021ZLP' THEN
tb.yidayorhour + tb.freezedayorhour
ELSE END) yxgongshang,
sum(CASE
WHEN tb.pk_timeitem = '1002Z710000000021ZLH' THEN
tb.yidayorhour + tb.freezedayorhour
ELSE END) yxchanjia,
sum(CASE
WHEN tb.pk_timeitem = '10018G1000000000IOLU' THEN
tb.yidayorhour + tb.freezedayorhour
ELSE END) yxchanjian,
sum(CASE
WHEN tb.pk_timeitem = '10018G1000000000BM2X' THEN
tb.yidayorhour + tb.freezedayorhour
ELSE END) yxpeichan,
sum(CASE
WHEN tb.pk_timeitem = '1002Z710000000021ZLB' THEN
tb.yidayorhour + tb.freezedayorhour
ELSE END) yxshijia,
sum(CASE
WHEN tb.pk_timeitem = '1002Z710000000021ZLD' THEN
tb.yidayorhour + tb.freezedayorhour
ELSE END) yxbingjia,
sum(CASE
WHEN tb.pk_timeitem = '1002Z710000000021ZLJ' THEN
tb.yidayorhour + tb.freezedayorhour
ELSE END) yxnianjia,
sum(CASE
WHEN tb.pk_timeitem = '1002Z710000000021ZLJ' THEN
tb.curdayorhour - tb.yidayorhour -
tb.freezedayorhour
ELSE END) jynianjia,
sum(CASE
WHEN tb.pk_timeitem = '10018G1000000000BM2L' THEN
tb.realdayorhour - tb.yidayorhour -
tb.freezedayorhour
ELSE END) jybuxiu
FROM tbm_leavebalance tb
GROUP BY tb.pk_org, tb.pk_psndoc, tb.curyear) bal
ON psn.pk_psndoc = bal.pk_psndoc
AND psn.pk_org = bal.pk_org
AND bal.curyear = substr(ld.ym, , )
WHERE psn.pk_org = '00016H10000000000BIV') t_1
INNER JOIN hi_psnjob hi_psnjob
ON (t_1.pk_psndoc = hi_psnjob.pk_psndoc AND hi_psnjob.ismainjob = 'Y' AND
hi_psnjob.lastflag = 'Y')
INNER JOIN (SELECT * FROM org_dept) org_dept
ON (hi_psnjob.pk_dept = org_dept.pk_dept)
WHERE org_dept.principal = (SELECT pk_base_doc pk_base_doc FROM cp_user)
ORDER BY t_1.ym

NC部门考勤月报定制sql的更多相关文章

  1. 每个部门绩效成绩第二名 sql server 查询 ( 替代 not in )

    原题: 集团中有多个部门,部门底下有多个员工,求每个部门绩效分数排名第二的人员,数据表结构如下: DEPAR          NAME             SCORE A             ...

  2. oracle处理考勤时间,拆分考勤时间段的sql语句

    最近一直在用mysql数据库做云项目,有段时间没有接触oracle了,昨天有朋友叫我帮忙用oracle处理一个考勤记录的需求,我在考虑如何尽量精简实现上面花了一些时间.于是把这个实现做个总结. 需求如 ...

  3. 一个关于考勤统计的sql研究

    在这里,我们要做一个简单的员工考勤记录查询系统的后台数据库.业务需求如下所示:      1.统计每天来的最早.来的最晚.走的最早.走得最晚的人的姓名           1.1 统计每天来得最早的人 ...

  4. MyBatis定制SQL集中特殊的处理方式

    举例说明: 1.查询 姓为林的数据  LIKE 3种 Select * from sys_user where user_name like '林%' 关于结果集合多个参数传递数据 特殊字符的处理

  5. sql rollup解决责任人收支余额

    问题的提出是周聪之前问过我的项目往来查询,不好在NC上一次性查询到.然后我就搞了一个很长的项目对账,发布了NC的节点. 现在我做了总二的总账,每次领导问我项目还有多少钱,收了多少付了多少,我还要通过科 ...

  6. 面试题: !=!=未看12 略多 sql语句练习 非常 有用

    JAVA面试总结 2015年03月25日 16:53:40 阅读数:4306 刚才看到的,先转载过来,没准以后用到…… 面试总结 2013年8月6日: 问题2:Hibernate的核心接口有哪些?   ...

  7. 数据库 数据库SQL语句三

    转换函数 to_char()字符串转换日期函数 --查询大于某个日期的员工信息 select * from emp where hiredate>to_date('1980-02-12','yy ...

  8. 数据库 数据库SQL语句一

    字符和日期 --字符和日期都要包含在单引号中 --字符大小写敏感,日期格式敏感 --默认的日期格式是DD-MON-RR --查询当前系统时间 SQL> select sysdate from d ...

  9. oracle中的sql%rowcount,sql%found、sql%notfound、sql%rowcount和sql%isopen

     Oracle 存储过程 删除表记录时删除不存在的记录也是显示删除成功 create or replace procedure delDept(p_deptno in dept.deptno%type ...

随机推荐

  1. Linux如何查看端口状态

    netstat命令各个参数说明如下: -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的 ...

  2. 20175329 2018-2019-3《Java程序设计》第三周学习总结

    学号 20175329 2018-2019-3<Java程序设计>第三周学习总结 教材学习内容总结 第四章 第四章主要介绍JAVA中的类与对象的划分,其中有很多复杂的概念以及知识点需要花很 ...

  3. face detection[SSH]

    该文来自<SSH: Single Stage Headless Face Detector>,本文时间线2017年8月. 不同于face rcnn那种两阶段的方法,SSH和ssd一样是一阶 ...

  4. 对Android系统权限的认识

    Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制 Android系统权限相关的内容 (一)linux文件系统上的权限 -rwxr-x--x ...

  5. 强大的开源企业级数据监控利器Lepus安装与配置管理

    开篇介绍 官方网站:http://www.lepus.cc 开源企业级数据库监控系统 简洁.直观.强大的开源数据库监控系统,MySQL/Oracle/MongoDB/Redis一站式性能监控,让数据库 ...

  6. MangoDB高级应用

    MongoDB高级应用 Author:SimpleWu 聚合 聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果.有点类似sql语句中的 count(*). ...

  7. Rollup处理并打包JS文件项目实例

    关于Rollup rollup是一款用来es6模块打包代码的构建工具(支持css和js打包).当我们使用ES6模块编写应用或者库时,它可以打包成一个单独文件提供浏览器和Node.js来使用. 它的优点 ...

  8. JqGrid分页按钮图标不显示的bug

    开发中遇到的一个小问题,记录一下,如果有朋友也遇到了相同的问题,可以少走些弯路少花点时间. 如图: 分页插件使用了JqGrid,但是分页栏里出现了问题,上一页.下一页这些按钮的图标都显示为空,记得以前 ...

  9. 一点感悟:《Node.js学习笔记》star数突破1000+

    写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...

  10. elasticsearch简单操作(二)

    让我们建立一个员工目录,假设我们刚好在Megacorp工作,这时人力资源部门出于某种目的需要让我们创建一个员工目录,这个目录用于促进人文关怀和用于实时协同工作,所以它有以下不同的需求:1.数据能够包含 ...