取得那些連續休假11天的員工的記錄
P粉014218124
P粉014218124 2023-08-16 20:44:15
0
1
447
<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學習者快速成長!