2010-07-26 5 views
0

J'ai une datatable comme ceci. i ont obtenu les données SQLServer et stockées dans une table de données en C#itérer par datatable dans C#

User  Svc  VSS 
    kiran  6.5 8 
    kiran  0.5 8 
    manu  0.0 4.0 
    manu  0.0 4.0 
    Priya  9.0 0.7 
    Priya  9.0 0.7 
    Peter  4.5 1.5 
    Peter  .0 .5 

maintenant j'ai besoin résultat comme celui-ci dans un autre datatable

User  Svc  VSS 
    kiran  7.0  16.0 
    manu  0.0  8.0 
    Priya  18.0 1.4 
    Peter  4.5  6.5 

Comment puis-je achive cet ensemble de résultats,

toute aide serait appréciée grantie
merci prince

+1

Avez-vous besoin du premier ensemble de données pour autre chose? Si vous n'utilisez pas SELECT User, SUM (Svc) AS Svc, SUM (VSS) AS VSS FROM ...? – SteveCav

Répondre

5

Si vous utilisez TypeDataSet et le nom de la table = tableName puis en utilisant LINQ vous pouvez le faire facilement comme suit ..

 var query = from row in tableName.AsEnumerable() 
        group row by row.User into Group       
        select new 
        { 
         User = Group.Key, 
         SvcSum = Group.Sum(r => r.svc), 
         VssSum = Group.Sum(r => r.vss) 
        }; 

     foreach (var grp in query) 
     { 
      Console.WriteLine("{0}\t{1}\t{2}", grp.User, grp.SvcSum, grp.VssSum); 
     } 

je le tester en créant une table et projet. Je pense que cela sera utile pour vous. merci

+0

merci Engr.Md Mamun Ar Rashid. – happysmile

3

Votre meilleur pari serait probablement d'agréger ceci dans une procédure stockée au lieu d'essayer de parcourir une base de données.

select 
    [User], 
    sum(SVC), 
    sum(VSS) 
from 
    DataTable 
group by 
    [User] 
+0

+1 pour deviner ce que l'OP demandait –