如何用c#合并多个DataTable对象,并将重复的行连接起来
本文关键字:起来 连接 合并 何用 对象 DataTable | 更新日期: 2023-09-27 17:50:31
你好,我有以下场景:
我有一组查询,将返回一组数据表对象。数据表中只有少数几行、几列是相同的,还有少数几列是每个表唯一的。例如
表1:Name | Jan Data | Feb Data
A |10 |20
B |12 |9
表2:Name | Mar Data | Apr Data | May Data
A |12 |21 |5
C |14 |90 |6
现在我想合并这两个数据表对象。但在合并时,有一些名称,如A,这对表和数据都是通用的。因此,我希望输出如下:
Name | Jan Data | Feb Data | Mar Data | Apr Data | May Data
A |12 |21 |5 | 45 |52
B | 0 | 0 | |62 |21
C |14 |90 |6 |63 |42
当按名称分组时,生成的表将具有每行值的总和。(我没有费心计算这里的道歉)
你能给我建议一个如何做到这一点的方法吗?
我使用c# 2.0
我将编写另一个查询来组合这两个查询并返回我想要的结果。您所描述的是关系数据库和SQL的用途。除非万不得已,否则我不会在代码中这么做。
如果你能在SQL视图中做到这一点,那可能是你最好的结果。
如果你不能这样做,我相信你会得到你想要的结果。合并
在代码中看起来像:
private DataTable CombineTables(DataSet ds)
{
return New DataTable = ds.Tables(0).Merge(ds.Tables(1),true,MissingSchemaAction.Add);
}