2012-12-10 2 views
1

내 쿼리 결과를 관련 테이블 값으로 제한하는 데 문제가 있습니다.식을 기반으로 쿼리 결과 제한

SELECT Roster.UserID, Roster.[WM DOH], Round((Date()-[WM DOH])/365,2) AS YearsOfService,  tblAccrual.WeeksAccrual 
FROM Roster, tblAccrual 
WHERE (([tblAccrual]![Years]<[YearsOfService])) 
GROUP BY Roster.UserID, Roster.[WM DOH], Round((Date()-[WM DOH])/365,2), tblAccrual.WeeksAccrual; 

내 쿼리는 근무 연수에 따라 발생주의 수를 반환해야합니다. 쿼리를 실행하면 입력란에 YearsOfService를 묻습니다. 내가 찾고있는 것은 근속 년수에 따라 적절한 발생액을 사용자에게 반환하는 것입니다. "Where"피스를 제거하면 다양한 서비스 가치에 대한 모든 조합이 반환됩니다. 나는 그들의 봉사의 해에 해당하는 것을 원한다. Excel에서 나는 다음과 같은 수식을 가지고 있습니다 ...

Today - Date of Hire/365 = Years of service 
if(years of service <2,0, if(years of service <7,2, if Years of service <15,3, 4))) 

나는 무엇을 잘못 했습니까?

답변

2

당신은 같은 것을 사용하여 어디 성명에서 별칭 YearsOfService을 참조 할 수 없습니다, 그것은, 그것은을 넣어하는 데 도움이 될 수 있습니다 당신은 쿼리 디자인 창을 사용하여 구축하는 것 괄호의 수에서

WHERE (([tblAccrual]![Years]<Round((Date()-[WM DOH])/365,2))) 

을 MS Access가 제안하는 것을보기 위해 앨리어싱 된 열 아래의 기준.