NC部门考勤月报定制sql
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的更多相关文章
- 每个部门绩效成绩第二名 sql server 查询 ( 替代 not in )
原题: 集团中有多个部门,部门底下有多个员工,求每个部门绩效分数排名第二的人员,数据表结构如下: DEPAR NAME SCORE A ...
- oracle处理考勤时间,拆分考勤时间段的sql语句
最近一直在用mysql数据库做云项目,有段时间没有接触oracle了,昨天有朋友叫我帮忙用oracle处理一个考勤记录的需求,我在考虑如何尽量精简实现上面花了一些时间.于是把这个实现做个总结. 需求如 ...
- 一个关于考勤统计的sql研究
在这里,我们要做一个简单的员工考勤记录查询系统的后台数据库.业务需求如下所示: 1.统计每天来的最早.来的最晚.走的最早.走得最晚的人的姓名 1.1 统计每天来得最早的人 ...
- MyBatis定制SQL集中特殊的处理方式
举例说明: 1.查询 姓为林的数据 LIKE 3种 Select * from sys_user where user_name like '林%' 关于结果集合多个参数传递数据 特殊字符的处理
- sql rollup解决责任人收支余额
问题的提出是周聪之前问过我的项目往来查询,不好在NC上一次性查询到.然后我就搞了一个很长的项目对账,发布了NC的节点. 现在我做了总二的总账,每次领导问我项目还有多少钱,收了多少付了多少,我还要通过科 ...
- 面试题: !=!=未看12 略多 sql语句练习 非常 有用
JAVA面试总结 2015年03月25日 16:53:40 阅读数:4306 刚才看到的,先转载过来,没准以后用到…… 面试总结 2013年8月6日: 问题2:Hibernate的核心接口有哪些? ...
- 数据库 数据库SQL语句三
转换函数 to_char()字符串转换日期函数 --查询大于某个日期的员工信息 select * from emp where hiredate>to_date('1980-02-12','yy ...
- 数据库 数据库SQL语句一
字符和日期 --字符和日期都要包含在单引号中 --字符大小写敏感,日期格式敏感 --默认的日期格式是DD-MON-RR --查询当前系统时间 SQL> select sysdate from d ...
- oracle中的sql%rowcount,sql%found、sql%notfound、sql%rowcount和sql%isopen
Oracle 存储过程 删除表记录时删除不存在的记录也是显示删除成功 create or replace procedure delDept(p_deptno in dept.deptno%type ...
随机推荐
- 多个窗口开启后,切换到指定title的窗口
1.在google中,可以开启多个窗口,这是需要切换到自己需要的窗口去定位元素.如下: #获取两个窗口的标题 ${titles} Selenium2Library.Get Window Titles ...
- matlab中fix函数,floor函数,ceil函数
1)fix(n)的意义是取小于n的整数(是向零点舍入的意思是往零的方向上靠),这是一类应用在整数取值上的函数,就如同以前我们所研究的求整问题,例如,fix(pi)=3;fix(3.5)=3;fix(- ...
- Spring Cloud (十四):Spring Cloud 开源软件都有哪些?
学习一门新的技术如果有优秀的开源项目,对初学者的学习将会是事半功倍,通过研究和学习优秀的开源项目,可以快速的了解此技术的相关应用场景和应用示例,参考优秀开源项目会降低将此技术引入到项目中的成本.为此抽 ...
- NLTK 第一篇:介绍
NLTK(Natural Language Toolkit)是一个功能强大的自然语言处理工具,它提供了一组自然语言算法,例如切分词(Tokenize),词性标注(Part-Of-Speech Tagg ...
- 助力ASP.NET Core 2.1开发!Layx 企业级弹窗插件发布!
我们在开发B/S架构企业管理系统时经常用到弹窗.目前市场上主要有两大弹窗:layer/artdialog,这两款做的都非常的棒.由于我们ERP系统比较复杂.需要能够拥有和Windows弹窗一样的弹窗组 ...
- 美团2016秋招笔试B
1.下述解决死锁的方法中,属于死锁预防策略的是? 资源有序分配法 银行家算法:避免死锁 资源有序分配法:预防死锁 资源分配图化简法:检测死锁 撤销进程法:解决死锁 2. 什么是死锁? 如果一个进 ...
- A direct formulation for sparse PCA using semidefinite programming
目录 背景 Sparse eigenvectors(单个向量的稀疏化) 初始问题(low-rank的思想?) 等价问题 最小化\(\lambda\) 得到下列问题(易推) 再来一个等价问题 条件放松( ...
- react虚拟dom diff算法
react虚拟dom:依据diff算法 前端:更新状态.更新视图:所以前端页面的性能问题主要是由Dom操作引起的,解放Dom操作复杂性 刻不容缓 因为:Dom渲染慢,而JS解析编译相对非常非常非常快! ...
- 怎么去掉Xcode工程中的某种类型的警告 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32
unsigned long numComponents = CGColorGetNumberOfComponents([[UIColor blackColor] CGColor]); 2014年12月 ...
- DDoS攻击、CC攻击的攻击方式和防御方法
DDoS攻击.CC攻击的攻击方式和防御方法 - sochishun - 博客园https://www.cnblogs.com/sochishun/p/7081739.html cc攻击_百度百科htt ...