2
select C.CenterID
from dbo.Center C
inner join (select PersonID, max(EffectiveDate) as EffectiveDate
from Center
where EffectiveDate <= getdate()
group by PersonID) as C2
on C.PersonID= C2.PersonID
and C.EffectiveDate = C2.EffectiveDate
센터 테이블에 PersonID와 EffectiveDate가 있고 여러 레코드가 동일한 PersonID를 갖지만 EffectiveDates가 다르므로 각 PersonID에 대해 가장 최근의 레코드를 1 개 반환하려고합니다.LINQ Entity Framework 4에서이 SQL을 작성하는 방법
이상적으로, linq에서 IQueryable로 표현하여 더 큰 쿼리를 작성하는 데 사용할 수 있습니다.
필자는 "PPTID"가 해당 내부 쿼리에서 "PersonID"라고 가정합니까? EffectiveDate> getdate()에 대한 레코드가있을 수 있습니까? –
쿼리가 지금 수정되었습니다. 예 effectiveDates는 앞으로있을 수 있지만 결과에서 제외되어야합니다. – Tom