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 ...
随机推荐
- spring-config的坑
背景 1.修改配置中心读取配置文件的分支,配置了spring.cloud.config.label后,报错,异常大概是读取本地配置文件异常 解决 反复尝试了之后,发现是配置仓库的配置文件格式(yml) ...
- C语言初学者关于数组指针的深度讨论
一.什么是数组指针? 即是数组的指针.首先它是一个指针,指向数组,指针本身占4个字节. 二.数组指针的使用 int a[3][5]; int (*p)[5]; p=&a; 第二行定义了一个数组 ...
- WPF效果(GIS三维篇)
二维的GIS已经被我玩烂了,紧接着就是三维了,哈哈!先来看看最简单的效果:
- ASP.NET Core 与支付宝开发文档
一.目录 ASP.NET Core 2.0 使用支付宝PC网站支付 ASP.NET Core 2.0 支付宝当面付之扫码支付 常见使用问题解答 已有多个公司数个项目用本组件并上线,稳定使用. 二.项目 ...
- xadmin集成DjangoUeditor
1.安装 安装DjangoUeditor 1)去GitHub上面下载djangoueditor源码包(https://github.com/twz915/DjangoUeditor3) 然后进入源 ...
- 协程 IO多路复用
-----------------------------------------------------------------试试并非受罪,问问并不吃亏.善于发问的人,知识丰富. # # ---- ...
- c++入门之命名空间存在的意义
看过鸡啄米的C++编程入门系列教程的朋友,应该能注意到,在其中的很多实例中,都有这么一条语句:using namespace std;,即使用命名空间std,其作用就是规定该文件中使用的标准库函数都是 ...
- UnderWater+SDN论文之二
---- Software-defined underwater acoustic networking platform and its applications source: Ad Hoc Ne ...
- SoftWater——SDN+UnderWater系列论文一
---- SoftWater: Software-defined networking for next-generation underwater communication systems 来源: ...
- 一个6亿的表a,一个3亿的表b,通过外间tid关联,你如何最快的查询出满足条件的第50000到第50200中的这200条数据记录
1.如果A表TID是自增长,并且是连续的,B表的ID为索引 select * from a,b where a.tid = b.id and a.tid>500000 limit 200; 2. ...