클라이언트 및 주요 승인 레코드의 데이터가 매핑 테이블에 들어있는 쿼리가 필요합니다. 데이터가 클라이언트 승인을 위해 사용 가능한 경우 클라이언트 승인을 먼저 확인한 다음 클라이언트 승인을 가져와야합니다. 클라이언트에 사용할 수있는 데이터가 없으면 특정 날짜에 대한 주요 승인 레코드를 가져와야합니다. 다음 쿼리 :다른 값이있는 경우에만 하나의 행 선택
SELECT * FROM employee_map
WHERE DATE = '2013-11-13 00:00:00'
AND (WORKDAIRY_APPROVAL='ClientApproval' XOR WORKDAIRY_APPROVAL='MainApproval')
은 13 번째 날짜에 2 행 출력을 제공하지만 20 일으로 날짜를 변경하면 주 승인을 얻게됩니다. 주 및 고객 승인이 모두 가능한 경우 고객 승인 데이터 만 필요합니다.
------------------------------- ---------------------------------------
MAP_ID CATEGORY EMP_ID DATE EMP_NAME EMP_SAL APPROVAL
------------------------------------------
1 DIRECT 1 11/13/2013 JOHN 5,000 MainApproval
2 DIRECT 1 11/13/2013 JOHN 5,000 ClientApproval
3 DIRECT 2 11/20/2013 RAJ 2,000 MainApproval
4 DIRECT 3 11/21/2013 Ram 1,000 ClientApproval
나를 도와주세요. 이 같은
이 sqlfiddle을 확인 고유합니다. – HerrSerker
유용 할 수 있습니다 : https://dev.mysql.com/doc/refman/5.0/en/exists-and-not-exists-subqueries.html – zundarz