2012-06-05 2 views
1

나는 같은 테이블에서 결과를 반환하는 linq 쿼리를 개발하려고 노력해 왔습니다.같은 테이블에서 행간 차이가있는 Linq 쿼리

ORDERS 

YEAR  NumberOfOrders 
-------------------------- 
2009   150 

2010   195 

2011   180 

2012   110 

쿼리해야 다음과 같은 현재와 작년 (2012 2011) 사이의 디퍼 런스 세라마이드를 반환

결과 : 당신의 도움에 대한

YEAR  NumberofOrders  DIFFERENCE 
--------------------------------------- 
2012   110    -70 

감사합니다,

+0

LEAD 및 LAG 기능을 지원하는 데이터베이스 엔진을 사용 중이십니까? – Randy

+0

SQL-Azure로 작업하고 있습니다. – GoodSpeed

답변

1

혼자서 찾았습니다.

var query = (from o1 in context.orders 
      where o1.year == lastyear 
      from o2 in context.orders 
      where o2.year == currentyear 
      select new 
      { 
       difference = o2.numberOfOrders - o1.numberOfOrders, 
       numberOfOrders = o2.numberOfOrders, 
       year = o2.year      
      }); 

감사합니다,