【发布时间】:2011-11-03 15:55:30
【问题描述】:
对不起,令人困惑的主题行:)
我想用我的 DataTable:s 进行类似 SQL 的查询:我想做这样的事情
// Is named "BadValues" Rows contain: id1, id2
DataTable tableReadFromFile = readFromFile();
// Is named "AllValues" Rows contain id1, id2
DataTable tableReadFromSql = readFromSql
DataTable resultTable =
tableReadFromFile.select("where AllValues.id1 not in (select id1 from BadValues) and AllValues.id2 not in (select id2 from BadValues)");
如果我的“BadValues”表如下所示:
id1 id2
0 1
10 11
20 21
我的“AllValues”表如下所示:
id1 id2
0 1
0 2
1 1
10 11
10 12
12 11
20 21
20 22
22 21
我希望结果表看起来像这样:
id1 id2
0 2
1 1
10 12
12 11
20 22
22 21
换句话说:如果对 id1,id2 存在于表“BadValues”和“AllValues”中,我想删除它们,以便它们不存在于结果表中。
如果 SQL 数据库中存在“BadValues”表,这在 SQL 中会相当简单,但因为它是从文件中加载的,这是不可能的。
就像现在一样,我遍历“BadValues”中的所有行,并使用设置的 id1 和 id2 值构造单独的 SQL 查询。由于我有很多数据,这非常耗时。
感谢任何提示!
【问题讨论】:
标签: c# sql select datatable dataset