2011-05-17 123 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