2012-11-15 2 views
3

모두주어진 날짜의 올바른 데이터를 반환하십시오.

나는 두 개의 테이블 하나와 Employee 테이블을 호출하고 다른 테이블은 Target Ratio를 호출한다. 그들은 FK 직원 ID를 통해

tblEmployee 
EmployeeID FirstName LastName 
1    John  Doe 

tblTargetRatio 
TargetRatioID EmployeeID EffectiveDate Ratio 
     1   1  1/1/2012  8 
     2   1  6/1/2012  5 
     3   1  9/1/2012  7 

나는 다음과 같은 경우에 대한 정확한 기록을 반환하는 tblTargetRatio 테이블을 조회 할 수있는 방법을 내 질문은 관련이 있습니다

1 EmployeeID = 1 and Date = 03/12/2012 (Expecting Ratio = 8) 
2 EmployeeID = 1 and Date = 10/10/2012 (Expecting Ratio = 7) 
3 EmployeeID = 1 and Date = 08/12/2012 (Expecting Ratio = 5) 

감사합니다, 앨런

답변

2

을 당신이 나타납니다 가장 최근의 유효 날짜를 찾고 있습니다. (@Date이 날짜가 검색되는 경우) 당신은 검색되는 값보다 작은 최대 값을 보면이 작업을 수행 할 수 있습니다

select top 1 * from tblTargetRatio 
where employeeid = 1 and effectivedate < @Date 
order by effectivedate desc 

데모 : http://www.sqlfiddle.com/#!3/f6d4b/2

+0

가 대단히 감사합니다 나는 그것을 몰랐어요 간단합니다. – dnguyen77

관련 문제