我有2个表,我希望不要获取相等的行。如何撰写查询?
例如,table a
包含10行,table b
包含10行。
a和b中的等行是5.
我想采取不相等的行(不在b表中)
如何获取不等于b表的表值?
结果应为5记录
答案 0 :(得分:2)
要在A中获取行但不在B中:
int? result = (from r in myDataTable.AsEnumerable()
where r.Field<Int32>("ID") == givenID
&& r.Field<Int32?>("value1") == givenValue1
select r.Field<Int32>("value2")).First();
在A和B中获取行但不在两者中:
select * from A minus select * from B
答案 1 :(得分:0)
使用EXCEPT
语法类似于INTERSECT。 https://www.tutorialspoint.com/sql/sql-intersect-clause.htm