查询每周做两次核算人员

现在有三张表,请筛选出那些人符合做核算要求那些人不符合核算要求

现在有三张表,请筛选出那些人符合做核算要求那些人不符合核算要求

现在有三张表,一张地铁安保人员表,一张地铁保洁人员表,还有一张
卫生院核酸检测人员表,要求上周做两次核算人员信息和未作两次核算人员信息,要求一周只少做两次并且间隔时间不少两天
create table dtz_abry(
name varchar(20) comment ‘姓名’,
zjhm varchar(20) comment ‘证件号码’,
lxfs varchar(20) comment ‘联系方式’,
zw varchar(40) comment ‘职位’,
);

张三 210118199103012613 13566771234 安保 10010
李四 210118198803012613 13566771235 安保 10010
王五 210118198802122613 13566771236 安保 10010
赵六 210118198712012613 13566771238 安保 10010
前七 210118198605012613 13566771783 安保 10010
五六七 210118198408012613 13566776534 安保 10010
熊大 210118199312012613 13566771071 安保 10010
熊二 210118199205072613 13566771567 安保 10010

alter table dtz_abry add COLUMN dept_no varchar(10);
select * from dtz_abry;
select * from dtz_bjry;
create table dtz_bjry(
name varchar(20) comment ‘姓名’,
zjhm varchar(20) comment ‘证件号码’,
lxfs varchar(20) comment ‘联系方式’,
zw varchar(40) comment ‘职位’,
dept_no varchar(20) comment ‘部门编号’
);
翠花 210118198703112613 13522771234 保洁 10020
赵敏 210118198810012613 13556771235 保洁 10020
周芷若 210118198102122621 1357871236 保洁 10020
小昭 210118198212014578 13560971238 保洁 10020
灭绝 210118198606012628 13566771783 保洁 10020
紫衫龙王 210118198409232625 13535676534 保洁 10020
小龙女 210118197912012311 13566281071 保洁 10020
杨紫 210118198905045613 13560121567 保洁 10020

create table hsjcryxx(
hname varchar(20) comment ‘姓名’,
zjhm varchar(20) comment ‘证件号码’,
lxfs varchar(20) comment ‘联系方式’,
jcsj datetime comment ‘核酸检测时间’
);
alter table hsjcryxx add COLUMN jcjgdm varchar(10);
alter table hsjcryxx add COLUMN jcjg varchar(10);
alter table hsjcryxx modify COLUMN jcsj varchar(20);
张三 210118199103012613 13566771234 2021-11-08 12:23:45 xm 阴性
张三 210118199103012613 13566771234 2021-11-11 12:23:45 xm 阴性
李四 210118198803012613 13566771235 2021-11-08 12:23:45 xm 阴性
李四 210118198803012613 13566771235 2021-11-10 12:23:45 xm 阴性
王五 210118198802122613 13566771236 2021-11-08 12:23:45 xm 阴性
王五 210118198802122613 13566771236 2021-11-12 12:23:45 xm 阴性
赵六 210118198712012613 13566771238 2021-11-10 12:23:45 xm 阴性
赵六 210118198712012613 13566771238 2021-11-11 12:23:45 xm 阴性
前七 210118198605012613 13566771783 2021-11-10 12:23:45 xm 阴性
五六七 210118198408012613 13566776534 2021-11-10 12:23:45 xm 阴性
熊大 210118199312012613 13566771071 2021-11-10 12:23:45 xm 阴性
熊二 210118199205072613 13566771567 2021-12-10 12:23:45 xm 阴性
翠花 210118198703112613 13522771234 2021-13-10 12:23:45 xm 阴性
赵敏 210118198810012613 13556771235 2021-09-10 12:23:45 xm 阴性
赵敏 210118198810012613 13556771235 2021-09-13 12:23:45 xm 阴性
周芷若 210118198102122621 13578712364 2021-09-10 12:23:45 xm 阴性
周芷若 210118198102122621 13578712364 2021-09-12 12:23:45 xm 阴性
小昭 210118198212014578 13560971238 2021-09-13 12:23:45 xm 阴性
灭绝 210118198606012628 13566771783 2021-09-10 12:23:45 xm 阴性
灭绝 210118198606012628 13566771783 2021-09-13 12:23:45 xm 阴性
小龙女 210118197912012311 13566281071 2021-09-10 12:23:45 xm 阴性
小龙女 210118197912012311 13566281071 2021-11-08 12:23:45 xm 阴性
小龙女 210118197912012311 13566281071 2021-09-13 12:23:45 xm 阴性
杨紫 210118198905045613 13560121567 2021-13-11 12:23:45 xm 阴性

create table fhhsjcyqry(
hname varchar(20) comment ‘姓名’,
zjhm varchar(20) comment ‘证件号码’,
sffh varchar(20) comment ‘是否符合核酸检测要求’
);

##核酸检测结果表关联,两次核算检测时间相减>0,说明上周做了两次以上核酸检测
insert into fhhsjcyqry
select d.name,d.zjhm,g.sffh
from (
select * from dtz_abry
UNION
select * from dtz_bjry) d
join (
select a.hname,a.zjhm,a.jcjgdm,‘合格’ as sffh,count(b.zjhm)
from hsjcryxx a, hsjcryxx b
where a.zjhm=b.zjhm
#and a.jcsj BETWEEN ‘2021-11-08 00:00:00’ and ‘2021-11-15 00:00:00’
#and b.jcsj>='2021-11-08 00:00:00’and b.jcsj<‘2021-11-15 00:00:00’
and a.jcsj>(SELECT DATE_FORMAT( DATE_SUB( DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 1 WEEK), ‘%Y-%m-%d 00:00:00’))
and a.jcsj<(SELECT DATE_FORMAT( SUBDATE(CURDATE(), WEEKDAY(CURDATE()) + 1), ‘%Y-%m-%d 23:59:59’))
and b.jcsj>(SELECT DATE_FORMAT( DATE_SUB( DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 1 WEEK), ‘%Y-%m-%d 00:00:00’) )
and b.jcsj<(SELECT DATE_FORMAT( SUBDATE(CURDATE(), WEEKDAY(CURDATE()) + 1), ‘%Y-%m-%d 23:59:59’))
and abs(TIMESTAMPDIFF(hour,a.jcsj,b.jcsj))>=48
group by a.zjhm
having count(b.zjhm)>=2)g
on d.zjhm=g.zjhm;

select * from fhhsjcyqry;
在这里插入图片描述

SELECT DATE_FORMAT( DATE_SUB( DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 1 WEEK), ‘%Y-%m-%d 00:00:00’) AS ‘上周一’;
SELECT DATE_FORMAT( SUBDATE(CURDATE(), WEEKDAY(CURDATE()) + 1), ‘%Y-%m-%d 23:59:59’) AS ‘上周末’;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值