2011-05-17 87 views
2

我根本无法得到这个工作,所以任何专家的帮助将非常感激。LINQ加入2 Datatables和SUM和GROUP BY

我想(根据主题建议)加入邮政编码的2个数据表,但返回一个表按国家分组,并有一个销售额的SUM()。

这里是我的烦恼的最新版本:

var results =(
    from a in dtList.AsEnumerable() 
    join b in dtListCoded.AsEnumerable() 
    on a.Field<string>("ZIP") equals b.Field<string>("zip") 
    group a by {a.Field<string>("StateCode")} into g 
    select new { 
     StateCode = a.Field<string>("StateCode"), 
     SumSales = b.Sum(b => b.Field<double>("SUMSales")) 
    }); 

我可以加入2个表,但其获得的结果,我需要的是似乎是有点棘手。如果需要的话,我只需要做2个查询,但这看起来有点落后。

在此先感谢。

+0

嘿,CatchingMonkey!我有一个类似的问题。 Kaido的回答并不包含足够的细节。我的问题在这里:http://stackoverflow.com/q/43766663/1735836。你能帮我吗? – Patricia 2017-05-03 18:58:16

回答

2

两个查询不会更慢(它们应该在执行时合并成一个SQL查询),并且在调试和可重用期间会更易读,更透明。我建议把它分解。

+0

嘿,Kaido!你的回答没有包含足够的细节。我有一个类似的问题。在这里:stackoverflow.com/q/43766663/1735836。你能帮我吗? – Patricia 2017-05-03 19:00:06