在表中查找其他表中不存在的记录

时间:2015-10-23 13:12:37

标签: c# sql-server linq

我有2个表(表Mngr和VWE)我希望我的查询返回 Sub CheckBox1_Click() Dim SrcRange As Range Dim TrgRange As Range If CheckBox1 = 1 Then Set SrcRange = Worksheets("Data Sheet").Range("A1:E3") Set TrgRange = Worksheets("Sheet1").Range("A1:E3") SrcRange.Copy TrgRange.PasteSpecial _ Paste:=xlPasteValues End If End Sub table Mngr相等的w.Mdl记录(所有相同的模型)但是表VWE中不存在o.cv。

任何人都可以帮我写作吗?

o.CM

在这:我希望它返回表 table Mngr table VWE ------------ ----------- CM CV Mdl Vrs a 5 a 1 b 2 a 3 Mngr的行,因为版本5是新的

你能帮我解决一下如何用Linq写的吗?

CM a and CV 5

感谢

3 个答案:

答案 0 :(得分:1)

您应该检查VME集合中是否存在匹配的记录:

Mngr.Where(m => m.Mod == 1 && !VME.Any(v => v.Mdl == m.CM && v.Vrs == m.CV))

查询语法

from m in Mngr
where m.Mod == 1 !VME.Any(v => v.Mdl == m.CM && v.Vrs == m.CV)
select m

答案 1 :(得分:0)

尝试此查询

from s in context.Mngr 
where !context.VWE.Any(es=>(es.mdl==s.cm)&&(es.vrs==s.vc))
select s;

答案 2 :(得分:0)

这应该对你有用,考虑到

  表VWE中不存在

o.cv

var query = Mngr.Where(m => VWE.Any(v => v.Mdl == m.CM) && 
                            !VWE.Any(v => v.Vrs == m.CV));
相关问题