两个datatable数据比对的问题

问题描述

请问两个datatable分别为table1和table2,数据结构完全相同,都包含a,b,c三列,如何比较出两个表中c列相等的数据如table1为abc123456table2为abcas3sdf结果为abc123as3

解决方案

解决方案二:
DataTabledt1=newDataTable();DataTabledt2=newDataTable();varquery=fromr1indt1.AsEnumerable()fromr2indt2.AsEnumerable()wherer1.Field<string>("c")==r2.Field<string>("c")selectr1;

解决方案三:
还有法子的DataTabletable=table1.AsEnumerable().Concat(table2.AsEnumerable()).GroupBy(p=>p["c"]).Where(p=>p.Count()>1).SelectMany(p=>p).CopyToDataTable();

时间: 2024-10-28 07:37:18

两个datatable数据比对的问题的相关文章

C#中连接两个DataTable,相当于Sql的InnerJoin

    在下面的例子中实现了3个Join方法,其目的是把两个DataTable连接起来,相当于Sql的Inner Join方法,返回DataTable的所有列.如果两个DataTable中的DataColumn有重复的话,把第二个设置为ColumnName+"_Second",下面是代码,希望对大家有所帮助.using System;using System.Data; namespace WindowsApplication1{    public class SQLOps    {

在C#中把两个DataTable连接起来

作者:浪漫十一狼在下面的例子中实现了3个Join方法,其目的是把两个DataTable连接起来,相当于Sql的Inner Join方法,返回DataTable的所有列.如果两个DataTable中的DataColumn有重复的话,把第二个设置为ColumnName+"_Second",下面是代码,希望对大家有所帮助.using System;using System.Data; namespace WindowsApplication1{    public class SQLOps 

在C#中把两个DataTable连接起来,相当于Sql的Inner Join方法

在下面的例子中实现了3个Join方法,其目的是把两个DataTable连接起来,相当于Sql的Inner Join方法,返回DataTable的所有列.如果两个DataTable中的DataColumn有重复的话,把第二个设置为ColumnName+"_Second",下面是代码,希望对大家有所帮助.using System;using System.Data; namespace WindowsApplication1{    public class SQLOps    {    

C#中把两个DataTable连接起来,相当于Sql的Inner Join方法

在下面的例子中实现了3个Join方法,其目的是把两个DataTable连接起来,相当于Sql的Inner Join方法,返回DataTable的所有列.  如果两个DataTable中的DataColumn有重复的话,把第二个设置为ColumnName+"_Second",下面是代码,希望对大家有所帮助.  using System;  using System.Data;  namespace WindowsApplication1  {      public class SQLO

比较两个DataTable是否相等(网上流传的通病)

我写这篇文章只是想告诉大家,网上流传最广的并不一定是正确的. 我想要是Google搜一下,如何判断两个DataTable相等,出来的最多的是下面的方法. 代码 private bool ValueEquals(DataTable objA,DataTable objB) { if(objA != null && objB != null) { if(objA.Rows.Count != objB.Rows.Count) { return false; } if(objA.Columns.C

比较两个DataTable内容是否相等,先是比数量,数量相等就比内容

#region 比较两个DataTable内容是否相等,先是比数量,数量相等就比内容 /// <summary> /// 比较两个DataTable内容是否相等,先是比数量,数量相等就比内容 /// </summary> /// <param name= "dtA "> </param> /// <param name= "dtB "> </param> public static bool C

求两个DataTable的差集

问题描述 哪位大侠有比较好的方法可以很快的求出两个DataTable的差集啊. 解决方案 解决方案二:循环操作记录求取.解决方案三:不是很明白你说的意思能再说具体点吗?解决方案四:循环记录的方式效率太低了,如果两个表每个表都有上万的数据呢,你计算一下这个计算量是多大呀.我的意思是说有A,B两张表,假设:A表里有1,2,3,4,5这5条数据,B表里有1,2,4这三条数据,我们可以用什么方法最快的把3,5这两条数据取出来.解决方案五:这个要设一个主键,如id,确保唯一,然后用notin做筛选现在假设

把两个datatable里的不同的数据找出来,求赐教,谢谢

问题描述 如题,比如我有两个datatable一个A1一个A2.A1里的数据A2里都有,A2里的数据比A1里可能没有,把他们不一样的部分取出来 解决方案 解决方案二:快点来人啊,在线等,谢谢解决方案三:将A2里头的A1的部分移除掉不就是了吗,这个很难吗?解决方案四:这社区没人了啊解决方案五:DataTabledt1=newDataTable();DataTabledt2=newDataTable();IEqualityComparer<DataRow>comparer=null;//需要自己实

Winform 两个DataTable把相同数据合并,统计数量相加!

问题描述 我是执行了两个存储过程,获得2个DataTable,然后通过dt.Merge把两个dt合并起来了,但是里面的数据没有叠加!我希望的结果是相同的数据只显示一条,统计部分数据叠加起来!希望大家教下我如何做效率高一些!最好是贴出代码来!谢谢 解决方案 解决方案二:引用楼主jking1025的回复: 我是执行了两个存储过程,获得2个DataTable,然后通过dt.Merge把两个dt合并起来了,但是里面的数据没有叠加!我希望的结果是相同的数据只显示一条,统计部分数据叠加起来!希望大家教下我如