获取那些连续休假11天的员工的记录
P粉014218124
P粉014218124 2023-08-16 20:44:15
0
1
446
<p>我有一个考勤记录,包含员工编号、状态和出勤日期的字段。 我想使用SQL查询来获取那些连续11天请假的员工记录。 条件是,如果员工的出勤状态连续11天是请假、缺勤或未标记出勤(在考勤文档中不存在的日期记录),包括周末。</p> <p>条件可以是所有状态的混合,即请假、缺勤或未标记出勤。</p>
P粉014218124
P粉014218124

全部回复(1)
P粉893457026

这个查询找到在考勤记录中有连续11天“请假”、“缺席”或“未标记”状态的员工。它将员工数据与考勤数据连接起来,过滤特定的状态和日期范围,对数据进行分组,然后仅选择那些记录数为11的组。

SELECT DISTINCT a.employee_code
FROM employees e
JOIN attendance a ON e.employee_code = a.employee_code
WHERE a.attendance_date BETWEEN a.attendance_date AND DATE_ADD(a.attendance_date, INTERVAL 10 DAY)
  AND a.status IN ('请假', '缺席', '未标记')
GROUP BY a.employee_code, a.attendance_date
HAVING COUNT(*) = 11;

如果这个查询对您不起作用,请分享您的模式。如果这个查询有任何错误,请指出。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!