如何将两个DataTable与不同列数进行比较? [英] How to compare two DataTable with different number of columns?

查看:152
本文介绍了如何将两个DataTable与不同列数进行比较?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我想比较两个数据表并获得新数据表的差异,但我想保留一个未比较的列。

例如:



优先数据表

名称|号码

---- | -------

Jude | 12

马克| 14

Bin | 15



秒数据表

名称

------

Jude

Robin

Kamil



数据表必须具备:

名称|号码

------- | ----------

马克| 14

Bin | 15

解决方案

你的样本数据



 DataTable dt1 =  new  DataTable(); 
dt1.Columns.Add( 名称 typeof string ));
dt1.Columns.Add( Number typeof int ));
dt1.Rows.Add( Jude 12);
dt1.Rows.Add( Mark 14);
dt1.Rows.Add( Bin 15);
DataTable dt2 = new DataTable();
dt2.Columns.Add( 名称 typeof string ));
dt2.Rows.Add( Jude);
dt2.Rows.Add( Robin);
dt2.Rows.Add( Kamil);





使用LINQ两个表中无与伦比的名称字段



  var  filter = 来自 firstDt   dt1 .AsEnumerable()
where !( from secondDt in dt2.AsEnumerable() select secondDt [ Name])。包含(firstDt [ Name]。ToString ())
选择 firstDt;
DataTable resultDt = filter.CopyToDataTable();





resultDt(输出)



祝你好运; - )


If I want to compare two datatables and get the difference in new datatable but I want to keep an uncompared column.
example:

first Datatable
Name | Number
---- |-------
Jude | 12
Mark | 14
Bin | 15

second Datatable
Name
------
Jude
Robin
Kamil

the Datatable must have:
Name | Number
-------|----------
Mark | 14
Bin | 15

解决方案

ur sample data

DataTable dt1 = new DataTable();
dt1.Columns.Add("Name",typeof(string));
dt1.Columns.Add("Number",typeof(int));
dt1.Rows.Add("Jude", "12");
dt1.Rows.Add("Mark", "14");
dt1.Rows.Add("Bin", "15");
DataTable dt2 = new DataTable();
dt2.Columns.Add("Name", typeof(string));
dt2.Rows.Add("Jude");
dt2.Rows.Add("Robin");
dt2.Rows.Add("Kamil");



using LINQ the unmatched 'Name' fields of two tables

var filter= from firstDt in dt1.AsEnumerable()
            where !(from secondDt in dt2.AsEnumerable() select             secondDt["Name"]).Contains(firstDt["Name"].ToString())
                     select firstDt;
         DataTable resultDt = filter.CopyToDataTable();



resultDt(Output)

good luck ;-)


这篇关于如何将两个DataTable与不同列数进行比较?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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