2013-10-18 71 views
0

我是新來的asp.net中的linq查詢。我希望部門明智地使用團隊的總薪水。我希望使用linq查詢的結果,所以請幫助我的朋友。我已經拿下了一張桌子。你能爲我的查詢提供一個解決方案嗎?我曾嘗試過,但我沒有找到解決方案。在asp.net中使用linq的概念部門明智的小組的總薪水

我的數據表是:

id name  dept sal 
    1 ABC  it 10000 
    2 BBC  it 20000 
    3 CCA  hr 30000 
    4 DDA  hr 40000 
    5 MMN  admin 50000 

結果一樣:

 dept sal 
     ----------------- 
     It 30000 
     Hr 70000 
     Admin 50000 

回答

2

嗨它不應該是很難得到你想要的東西。

tablename.GroupBy(g => g.dept) 
.Select(s => new { 
     dept = s.Key, 
     sal = s.Sum(t => t.sal) 
     }) 
.ToList(); 

這給你工資總額的列表,每個部門

+0

1,因爲我的答案是喜歡你的,你給你的答案更快;) – MRB

+0

謝謝穆罕默德:P – Raphael

+0

它在GroupBy上顯示一個錯誤。沒有數據表的可靠GroupBy。 – user1858830

0

somethink這樣的:

context.table.GroupBy(t => t.dept, e => e.sal).Select(r => new { key = r.Key, sum = r.Sum(x => x) }); 

編輯:

對於使用LINQ與數據表中的引用添加到System.Data.DataSetExtensions並添加System.Data名稱空間並將AsEnumerable()調用到您的dataTable。 也看看Here

0

你可以做這樣的事情..

var list = table.GroupBy(p=>p.dept,q=>q.sal).Select(x=>new { dept = x.Key, sal = x.Sum(s=>s.sal)}); 
+0

它在GroupBy上顯示一個錯誤。沒有對數據表的可靠GroupBy。 – user1858830