首頁  >  問答  >  主體

取得那些連續休假11天的員工的記錄

<p>我有一個考勤記錄,包含員工編號、狀態和出勤日期的欄位。 我想使用SQL查詢來取得那些連續11天請假的員工記錄。 條件是,如果員工的出勤狀態連續11天是請假、缺勤或未標記出勤(在考勤文件中不存在的日期記錄),包括週末。 </p> <p>條件可以是所有狀態的混合,即請假、缺勤或未標記出勤。 </p>
P粉014218124P粉014218124402 天前448

全部回覆(1)我來回復

  • P粉893457026

    P粉8934570262023-08-17 12:58:40

    這個查詢找到在考勤記錄中有連續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;

    如果這個查詢對您不起作用,請分享您的模式。如果這個查詢有任何錯誤,請指出。

    回覆
    0
  • 取消回覆