나는 언젠가 나를 괴롭히는 2 가지 질문을 가지고있다.mySQL에서 필터
나는 2 개의 테이블을 가지고 있습니다.
그리고이 테이블을 사용하여 2 개의 다른 쿼리를 실행하고 싶습니다. 그러나 많은 노력을했지만 성공하지 못했습니다.
쿼리 1 : 이전에 AL (Annual Leave)을 수행하지 않은 직원을 필터링하지만 현재 상태가 AL 만 보류 중입니다.
SELECT employee_id, leave_status, leave_type_id
FROM hs_hr_leave
WHERE leave_status =2
GROUP BY employee_id
위의 예는 이전에 AL을 사용하기도했지만 이전에 찍은 AL 직원을 제외하는 방법을 모르겠습니다.
결과는 0002이어야합니다. AL 보류 중 & 0003 AL 보류 중입니다. 0001 0001 이전에 AL을 취했기 때문에 보류 중이 목록에 없습니다.
쿼리 2 : 직원을 필터링하지 않고 레코드에서 AL을 가져오고 다른 사용자는 MC, 지불, 입원, 출산과 같이 떠납니다. 결과는 단지 0003 Miss C. Miss D & Miss E는 전혀 휴업을하지 않기 때문에이 결과가 필요하지 않습니다.
다음과 같은 테이블 :
남기기 표
employee_id|leave_type|status
0001 |AL |Taken
0001 |MC |Taken
0001 |AL |Pending
0001 |AL |Schedule
0002 |MC |Pending
0002 |AL |Pending
0003 |MC |Pending
0003 |Others |Taken
직원 표 도와
employee_id|employee_name|
0001 |Miss A |
0002 |Miss B |
0003 |Miss C |
0004 |Miss D |
0005 |Miss E |
감사합니다.
"이전"및 "현재"라는 용어를 설명 할 수 있습니까 ?? 샘플 데이터가 포함 된 sqlfiddle.com 링크를 만듭니다. 그렇다면 유용 할 것입니다 .... – Damodaran
결과 만 상태 보류 중이고 직원이 테이블에 AL 레코드를 가져 오지 않았 으면합니다. – user2617464