将两个数据表合并为一个数据表,并按单列删除重复项 [英] Merge two datatable in to one datatable and remove duplicate as per single column

查看:70
本文介绍了将两个数据表合并为一个数据表,并按单列删除重复项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个数据表,例如T1和T2。以下是两个表中的列:

  1)文件名,
2)大小,
3) PATH,
4)排名,
5)DocTitle,
6)HitCount

现在,我需要合并表T1和T2,但条目不应按照文件名列进行重复。



我不能用户 T1.Merge(T2)来完成我的工作。有人对此有建议吗?谢谢。

解决方案

如果您需要在C#中实现此功能,而不是像这样对您有用

  var fileNames = t1.Rows.OfType< DataRow>()。Select(row => row [ FileName])。ToList(); 
var rowsToAdd = t2.Rows.OfType< DataRow>()。Where(row =>!fileNames.Contains(row [ FileName]))。ToList();

foreach(vardataRow in rowsToAdd)
{
t1.ImportRow(dataRow);
}

,但最好使用SQL过滤器,然后再将其放入DataTable中。 / p>

I have two datatable, say T1 and T2. Following are the columns in both table:

1) Filename,
2) Size,
3) PATH,
4) rank,
5) DocTitle,
6) HitCount

Now, I need to merge table T1 and T2 but entries should not get duplicated as per "Filename" column.

I cant user T1.Merge(T2) to do my work. Do anyone have suggestion on the same. Thanks.

解决方案

if you need to implement this in C# than smth like that could work for you

var fileNames = t1.Rows.OfType<DataRow>().Select(row => row["FileName"]).ToList();
var rowsToAdd = t2.Rows.OfType<DataRow>().Where(row => !fileNames.Contains(row["FileName"])).ToList();

foreach (var dataRow in rowsToAdd)
{
    t1.ImportRow(dataRow);
}

but it's better to use SQL filters and after that to put in DataTable.

这篇关于将两个数据表合并为一个数据表,并按单列删除重复项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆