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;
这个查询找到在考勤记录中有连续11天“请假”、“缺席”或“未标记”状态的员工。它将员工数据与考勤数据连接起来,过滤特定的状态和日期范围,对数据进行分组,然后仅选择那些记录数为11的组。
如果这个查询对您不起作用,请分享您的模式。如果这个查询有任何错误,请指出。