Linq查询同一个表中行之间的差异

时间:2012-06-05 21:23:11

标签: sql linq linq-to-sql linq-to-entities

我一直在尝试开发一个从同一个表中返回结果的linq查询。

ORDERS

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

2010            195

2011            180

2012            110

查询必须返回当前和去年(2012年和2011年)之间的差异,如下所示:

结果:

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

感谢您的帮助,

1 个答案:

答案 0 :(得分: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                    
             });

谢谢,