🔎
ST HRM

ST HRM

SQL Update Code

20 codes · 2 months ago
UPDATE `tbl_attendance` SET `late_status` = '0', `late_time` = '0' WHERE `card_id` = '1136'
AND `attendance_date` BETWEEN '2024-09-01' AND '2024-09-30'
SELECT * 
FROM `tbl_holiday` 
WHERE (`holy_date`, `branch_id`) IN (
    SELECT `holy_date`, `branch_id` 
    FROM `tbl_holiday` 
    GROUP BY `holy_date`, `branch_id` 
    HAVING COUNT(*) > 1
) 
ORDER BY `holy_date` ASC, `branch_id` ASC;
DELETE FROM `tbl_holiday`
WHERE `holiday_id` NOT IN (
    SELECT * FROM (
        SELECT MIN(`holiday_id`) 
        FROM `tbl_holiday`
        GROUP BY `holy_date`, `branch_id`
    ) AS keep_records
);
SELECT * FROM attendance_log WHERE checktime BETWEEN '2024-09-01' AND '2024-09-02';
UPDATE `tbl_attendance`
SET `late_time` = TIMESTAMPDIFF(MINUTE, `in_time`, `first_in_time`)
WHERE `card_id` = '1111'
AND `attendance_date` BETWEEN '2024-09-01' AND '2024-09-30'
AND `first_in_time` IS NOT NULL
AND `in_time` IS NOT NULL;
UPDATE `tbl_attendance`
SET `late_time` = GREATEST(0, TIMESTAMPDIFF(MINUTE, `in_time`, `first_in_time`))
WHERE `schedule_id` = 6 AND `attendance_date` = '2025-06-15';
UPDATE `tbl_attendance`
SET `late_status` = 0
WHERE late_time < 1 AND `schedule_id` = 6 AND `attendance_date` = '2025-06-15';
UPDATE tbl_attendance SET early_going = 0 WHERE schedule_id = 1 AND early_going = 1 AND out_time > '18:00:00' AND attendance_date > '2024-07-01';
UPDATE tbl_attendance
SET out_time = temp_in_time
WHERE temp_in_time > out_time
AND attendance_date > '2024-07-01';
UPDATE tbl_employee 
SET staff_id = REPLACE(staff_id, '-', '');
UPDATE tbl_employee 
SET card_id = machine_id;
UPDATE tbl_employee 
SET staff_id = card_id;
SELECT employee_id, card_id, machine_id,employee_type
FROM tbl_employee;
DELETE FROM tbl_m_salary_generate WHERE branch_id = 19 AND month LIKE '2024-05';
SELECT * FROM tbl_m_salary_generate WHERE branch_id = 19 AND month LIKE '2024-05'
UPDATE tbl_employee 
SET staff_id = card_id
 WHERE branch_id = 26;
TRUNCATE tbl_attendance_log; 
TRUNCATE tbl_attendance; 
TRUNCATE tbl_holiday; 
TRUNCATE tbl_m_salary_generate; 
TRUNCATE tbl_employee; 
TRUNCATE tbl_position; 
TRUNCATE tbl_branch_permission; 
TRUNCATE tbl_leave_application; 
TRUNCATE meal_deduction; 
TRUNCATE tbl_salary; 
TRUNCATE tbl_leave_type; 
TRUNCATE tbl_department; 
TRUNCATE tbl_section; 
TRUNCATE tbl_concern_branch; 
TRUNCATE tbl_grade; 
TRUNCATE tbl_schedule; 
TRUNCATE tbl_company_concern; 
TRUNCATE meal;
SELECT * FROM `attendances` WHERE `status` = 0 GROUP BY `user_id` ORDER BY `user_id` ASC;
UPDATE tbl_attendance
SET 
    late_time = CASE 
        WHEN TIMESTAMPDIFF(SECOND, in_time, first_in_time) > 600 
        THEN TIMESTAMPDIFF(MINUTE, in_time, first_in_time) - 10
        ELSE 0 
    END,
    late_status = CASE 
        WHEN TIMESTAMPDIFF(SECOND, in_time, first_in_time) > 600 THEN '1'
        ELSE '0' 
    END
WHERE in_time IS NOT NULL 
  AND first_in_time IS NOT NULL
  AND attendance_date LIKE '2026-05-%';
UPDATE tbl_attendance
SET 
    late_time = CASE 
        WHEN TIMESTAMPDIFF(SECOND, in_time, first_in_time) > 960 
        THEN TIMESTAMPDIFF(MINUTE, in_time, first_in_time) - 15
        ELSE 0 
    END,
    late_status = CASE 
        WHEN TIMESTAMPDIFF(SECOND, in_time, first_in_time) > 960
        THEN '1'
        ELSE '0' 
    END
WHERE in_time IS NOT NULL 
  AND first_in_time IS NOT NULL
  AND attendance_date LIKE '2026-05-%';