我有2个数据表如何比较(行和列)两个数据表,并获得唯一的记录
string query = "Select * from " + ServerTableName;
DataTable oDtSeverData = GetDataTable(query);
string dbQuery = "SELECT * from " + LocalSystemTableName;
DataTable oDtLocalSystemData = dataService.GetDataTable(dbQuery);
我想比较(行和列),这两个数据表,以获得相同的列(同时存在于数据表)与唯一记录(独特的行)。
让我详细解释:
oDtServerData有几行列(列1,列2,栏3,Column4)。 oDtLocalSystemData具有几行的列(Column1,Column2,Column3)。
oDtServerData可能有较少的列和oDtLocalSystemData。但在任何情况下,我都希望列(Column1,Column2,Column3)在数据表中与唯一行匹配(数据应该是唯一的)。
有人请帮助我,并给我一些想法,用几个例子来解决我的问题。
预期的表具有相同的结构,将数据插入到表?有主键吗? – Richard 2013-03-20 12:00:27
表中没有主键。它是从2个不同的地方动态创建的表。但是,最大结构(列)将是相同的。 – Rocky 2013-03-20 12:03:17
如果没有任何种类的键,您将被卡住迭代一个DataTable中的所有行,然后通过对数据源执行SQL查询或使用DataTable的Find方法检查它们是否存在于第二个DataTable中。两者都可能非常昂贵和缓慢。 – Richard 2013-03-20 12:06:15