gpt4 book ai didi

c# - 比较两个数据表并选择第二个表中不存在的行

转载 作者:可可西里 更新时间:2023-11-01 03:08:12 24 4
gpt4 key购买 nike

我有两个数据表,我想从第一个数据表中选择第二个数据表中不存在的行

例如:

Table A  id   column  1     data1  2     data2  3     data3  4     data4Table B  id   column  1     data10  3     data30

我想要的结果是:

Table C  id    column  2      data2  4      data4

最佳答案

您可以使用 Linq,尤其是 Enumerable.Except 有助于找到 TableA 中不在 TableB 中的 ID:

var idsNotInB = TableA.AsEnumerable().Select(r => r.Field<int>("id"))
.Except(TableB.AsEnumerable().Select(r => r.Field<int>("id")));
DataTable TableC = (from row in TableA.AsEnumerable()
join id in idsNotInB
on row.Field<int>("id") equals id
select row).CopyToDataTable();

您也可以使用Where,但效率较低:

DataTable TableC = TableA.AsEnumerable()
.Where(ra => !TableB.AsEnumerable()
.Any(rb => rb.Field<int>("id") == ra.Field<int>("id")))
.CopyToDataTable();

关于c# - 比较两个数据表并选择第二个表中不存在的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15713243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com