How can I get a sum for the column "pieces" in a datatable? Say I had the following table. How can I calculate the "total" pieces for article="milk" and artno="15"?
Columns: article artno pieces
Rows:
1 milk 15 1
2 water 12 1
3 apple 13 2
4 milk 15 1
5 milk 16 1
6 bread 11 2
7 milk 16 4
The Result of the my new DataTable should be this:
Columns: article artno pieces
Rows:
1 bread 11 2
2 water 12 1
3 apple 13 2
4 milk 15 2
5 milk 16 5
My Code:
foreach (DataRow foundDataRow in foundRows1)
{
int i = 0;
foreach (DataRow dataRow in foundRows2)
{
if (object.Equals(dataRow.ItemArray[0], foundDataRow.ItemArray[0])
&& object.Equals(dataRow.ItemArray[3], foundDataRow.ItemArray[3]))
{
i = i + Convert.ToInt16(dataRow.ItemArray[4]);
}
}
Debug.Print(i.ToString());
}
Sorry, but i'm new DataBase developer and my english speak language is not so good.
Using the
DataTable.Compute
method, you can do:Using Michael's suggestion with 1 less step:
(This is using Linq to DataSet)
in a .NET 4 windows application, this snippet of code gives 9 in the sum variable:
You could use the
AsEnumerable
method like so: