【发布时间】:2013-06-01 11:40:10
【问题描述】:
虽然我知道我可以通过 sql 连接 2 行,但我的程序不使用它 我有 2 个数据表,我取每一行,与另一个表上的行进行比较,并希望从中进行连接
public DataTable joinTables (DataTable t1, DataTable t2)
{
DataTable joinTable = new DataTable();
foreach (DataRow r1 in t1.Rows)
{
foreach (DataRow r2 in t2.Rows)
{
///if (....)
joinTable.ImportRow(joinRows(r1,r2));
}
}
return joinTable;
}
public DataRow joinRows (DataRow r1, DataRow r2)
{
DataRow joinRow = new DataRow();
///....
return joinRow;
}
【问题讨论】:
-
基于什么标准?您希望输出是什么样的?
-
@DaveBish 标准不相关(“如果”)问题出在 joinrow() 中,我如何将一行与一行连接成一行
-
@iakovl2,
the criteria is non relevant简而言之,错误。当我有两行的架构匹配时,当列值不同时哪一行获胜?您正在创建一行。 -
@MichaelPerrenoud 我错了,我想要一个简单的右/左连接...第 1 行是 1 2 3,第 2 行是 4 5 6,连接是 1 2 3 4 5 6跨度>
-
@iakovl2 你确定这是一个左/右连接吗?这些类型的连接仅从一侧或另一侧获取匹配行,并从相邻侧获取所有行。看起来你想要一个交叉连接。你能确认一下吗?