2011-04-11 92 views
1

我有一個數據表,看起來像這樣:查詢數據表

Id Value 
123 4.0 
123 5.0 
234 1.0 
345 2.0 
345 3.0 

我想結束了(可能是一個新的DataTable)包含由標識這樣的分組 值的總和:

Id SumOfValue 
123 9.0 
234 1.0 
345 5.0 

這裏是我的代碼,

var query = from row in dTable.AsEnumerable() 
group row by row.Field<double>("ITEM_NO") into grp 
orderby grp.Key 
select new 
{ 
    ITEM_NO = grp.Key, 
    sum = grp.Sum(r = r.Field<double>("ITEM_STOCK")) 
}; 

我得到一個錯誤,r is undefined,我也無法將這些值添加到新的數據表中。

有誰知道如何寫這個?

謝謝。

回答

3

我相信你沒有正確指定操作。試試這個:

var query = from row in dTable.AsEnumerable() 
        group row by row.Field<double>("ITEM_NO") into grp 
        orderby grp.Key 
        select new 
        { 
         ITEM_NO = grp.Key, 
         sum = grp.Sum(r => r.Field<double>("ITEM_STOCK")) 
        }; 

不同的是r => r.Field,而不是r = r.Field

+0

@RushabhShah不客氣。正如我上面所說,如果這對你滿意,你應該通過點擊複選標記來接受答案,並回到你的舊問題,並接受滿意的答案。 – MPelletier 2011-04-11 17:59:00