2013-09-23 2 views
0

2007-2013 사이의 교육 과정 출석 횟수를 확인하려고합니다. ,MAX 날짜가 다른 날짜보다 작음

SELECT O867IA_VJOBHST.JOB_CLS_CD, O867IA_VJOBHST.DIS_NR, 
Sum(IIf(emp_tng_stt_dt Between #1/1/2007# And #12/31/2011#,1,0)) AS [2007-2011], 
Sum(IIf(emp_tng_stt_dt Between #1/1/2011# And #12/31/2011#,1,0)) AS 2011, 
Sum(IIf(emp_tng_stt_dt Between #1/1/2012# And #12/31/2012#,1,0)) AS 2012, 
Sum(IIf(emp_tng_stt_dt Between #1/1/2013# And #9/23/2013#,1,0)) AS 2013, O867IA_VJOBHST.REC_EFF_STT_DT, O867IA_VTRAING.EMP_TNG_STT_DT 
FROM (O867IA_VJOBHST INNER JOIN O867IA_VTRAING ON O867IA_VJOBHST.SYS_EMP_ID_NR = O867IA_VTRAING.SYS_EMP_ID_NR) INNER JOIN O867IA_VPJOBCO ON O867IA_VJOBHST.JOB_CLS_CD = O867IA_VPJOBCO.JOB_CLS_CD 
WHERE (((O867IA_VTRAING.REG_NR)="03") AND ((O867IA_VTRAING.TNG_SYS_NR)="0918") AND ((O867IA_VPJOBCO.JOB_GRP_CD)="61")) 
GROUP BY O867IA_VJOBHST.JOB_CLS_CD, O867IA_VJOBHST.DIS_NR, O867IA_VJOBHST.REC_EFF_STT_DT, O867IA_VTRAING.EMP_TNG_STT_DT; 

REC_EFF_STT_DT 필드들이 자신의 일에 기록 된 날짜, 그래서 나는이 MAX 날짜로 얻기 위해 노력하고 있어요 : 나는이 기간 동안 그들이에 있던 직원의 작업 그룹을 당겨야 교육 과정을 수강 한 때인 EMP_TNG_STT_DT보다 작아야합니다. 나는 (((O867IA_VJOBHST.REC_EFF_STT_DT) < [O867IA_VTRAING]. [EMP_TNG_STT_DT])))와 같이 설정하려고합니다. 하지만 REC EFF STT DT에 MAX를 추가 할 때마다 "지정된 표현식을 포함하지 않는 쿼리를 실행하려고했습니다"라는 오류가 계속 발생합니다. 해결책을 찾을 수없고 도움이 필요합니다.

답변

0

((MAX(O867IA_VJOBHST.REC_EFF_STT_DT) < [O867IA_VTRAING].[EMP_TNG_STT_DT]))이이 오류를 표시하는 경우 사용자의 SELECT 목록에도 포함되어 있으며 'clause. Try removing it from your SELECT'목록이 아닙니다.

또 다른 제안은 [O867IA_VTRAING].[EMP_TNG_STT_DT]이 집계되지 않는다는 것입니다. 이를 집계하여 작업을 수행 할 수도 있습니다. 변경되지 않은 값을 원할 경우 FIRST()이 작동 할 수 있습니다.

+0

나는 이미 시도했지만 오류가 계속 발생합니다. – user2119980

관련 문제