0

大家好,我的数据表来自我的数据库,如下所示

Name       Total
XYZ         20
XYZ         20
ABC         20

现在我想让我的数据表如下

Name       Total
XYZ         40
ABC         20

linq从这里尝试了这个查找重复记录并将记录合并到单个数据表c#中,它工作正常,但是由于我从数据库中获取我的值,所以我不知道变量的类型,所以有人可以帮助我并给我非解决方案链接方式

4

2 回答 2

1

如果您有两张桌子,并且想要将它们全部组合起来,那么下面就是您所追求的

SELECT bothTables.Name, SUM(total) FROM
(
   SELECT Name, SUM(total) as total FROM Table_1 GROUP BY Name
   UNION ALL
   SELECT Name, SUM(total) as total FROM Table_2 GROUP BY Name
) AS bothTables
GROUP BY bothTables.Name
ORDER BY bothTables.Name desc 

或者如果您想使用您的数据表(本例中为 dt)来执行此操作

var summedValues = from table in dt.AsEnumerable()
                   group table by table.Field<string>("Name")
                   into groupedTable
                   select new
                             {
                                Name = groupedTable.Key,
                                Total = groupedTable.Sum(x => x.Field<int>("Total"))
                             }; 
于 2012-11-28T07:21:00.143 回答
0

解决方案的 SQL 版本将是:

select Name, sum(Total) group by Name
于 2012-11-28T06:55:51.103 回答