2011-11-03 3 views
0

상황은 예를 들어 10 개의 행이있는 테이블이 있습니다. '가격'열의 값을 계산하고 MAX 가격을 가진 전체 행을 선택하려고합니다.최대 값 열의 전체 행 선택

var offer = (from p in dc.CustomerOffer 
           join q in dc.OffersInBranch 
            on p.ID equals q.OfferID 
           where q.BranchID == singleLoc.ID 
           select (p.OriginalPrice - p.NewPrice) * 100/p.OriginalPrice).Max(); 

위의 코드는 MAX 가격 만 제공합니다. 전체 행을 어떻게 선택합니까? 아이디어가 있으십니까 ??

답변

1

다음 코드를보십시오 :

var offer = (from p in dc.CustomerOffer 
           join q in dc.OffersInBranch 
            on p.ID equals q.OfferID 
           where q.BranchID == singleLoc.ID 
      let value = (p.OriginalPrice - p.NewPrice) * 100/p.OriginalPrice 
      order by value desc 
           select p).First() 

참고 :이 더미 코드이며 구문이 정확하지 않을 수 있습니다. 요구 사항에 따라 쿼리를 조정해야 할 수도 있습니다.