我想在数据表dt1
上执行此查询:
select * from dt1 where col1 NOT IN(select col1 from dt2)
这里是测试代码:
Sub Main()
Dim dt1 As New DataTable
Dim dt2 As New DataTable
Dim dt3 As New DataTable
dt1.Columns.Add("col1")
dt1.Columns.Add("col2")
dt1.Columns.Add("col3")
dt1.Rows.Add("1", "a", "a")
dt1.Rows.Add("2", "b", "b")
dt1.Rows.Add("3", "c", "c")
dt1.Rows.Add("4", "d", "d")
dt1.Rows.Add("5", "e", "e")
dt2.Columns.Add("col1")
dt2.Columns.Add("col4")
dt2.Columns.Add("col5")
dt2.Rows.Add("1", "a", "a")
dt2.Rows.Add("2", "f", "f")
dt2.Rows.Add("3", "g", "g")
dt3.Columns.Add("col1")
dt3.Columns.Add("col2")
dt3.Columns.Add("col3")
'Dim rows() As DataRow = dt1.Select("dt1.select(columns(0)) Not In (dt2.select(cloumns(0)))")
End Sub
答案 0 :(得分:0)
查看Enumerable.Except方法。例如:
dt2.AsEnumerable.Except(dt1.AsEnumerable, DataRowComparer.Default)
取决于您的考虑因素"不在Dt2"您可能需要定义自定义IEqualityComparer。