11일 연속 출근하지 않은 직원 구하기
P粉103739566
P粉103739566 2023-08-18 09:31:19
0
1
536
<p>11일 연속 출석을 표시하지 않은 직원을 데이터베이스에서 가져오려고 합니다. 이를 위해 직원 테이블과 출석 테이블이 있지만 이것에 대한 문제는 출석 테이블에 기록이 없다는 것입니다. 그러면 어떻게 얻을 수 있습니까</p> <p>많은 쿼리를 시도했는데 그 중 일부는 다음과 같습니다. </p> <pre class="brush:php;toolbar:false;">SELECT e.name, e.full_name FROM tabEmployee e 왼쪽 조인( 선택하다 직원, 직원 MIN(attendance_date) AS first_attendance_date FROM 탭출석 직원별 그룹 ) ar ON e.name = ar.employee ar.first_attendance_date가 NULL인 경우 또는 존재하지 않습니다( 1개를 선택하세요 FROM 탭출석 WHERE 직원 = e.name AND 출석_날짜 >= ar.first_attendance_date AND 출석_날짜 < DATE_ADD(ar.first_attendance_date, INTERVAL 11 DAY) )</pre> <p>다른 검색어:</p> tabEmployee e에서 <pre class="brush:php;toolbar:false;">SELECT e.name, COUNT(a.`attendance_date`), COUNT(e.`name`) LEFT JOIN 탭Attendance a ON e.name = a.`employee` a.`employee`가 NULL인 경우 GROUP BY e.`이름`</pre> <p><br /></p>
P粉103739566
P粉103739566

모든 응답(1)
P粉231079976

LAG() 분석 기능을 사용하여 다음을 시도해 볼 수 있습니다.

으아악

여기서 기본 전략은 CTE에서 출석 날짜의 시차(이전 연속 값)를 생성하는 것입니다. 그런 다음 11일 이상의 공백이 있는 직원만 보고합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿