我在SQL中有这样的子查询
SELECT A.DOCID
FROM mstdocs a, mstdocstats b
WHERE a.DOCID = b.DOCID
AND b.VID = '1'
AND A.DOCID NOT IN (SELECT a.docid
FROM mstdocs a, mstdocstats b
WHERE a.DOCID = b.DOCID
AND b.VID = '1'
AND a.VTAID = '2')
GROUP BY A.DOCID
如何在LINQ中转换该查询。 谢谢你的回答
答案 0 :(得分:0)
我认为你可以把这个问题分成两部分。 首先,您可以选择不在列表中
var notInList = from a in db.mstdocs
join b in db.mstdocstats on a.DOCID equals b.DOCID
where a.VID == "1" && b.VTAID == "2"
select a.DOCID;
然后你可以使用这个列表来得到你想要的东西:
var result = from a in db.mstdocs
join b in db.mstdocstats on a.DOCID equals b.DOCID
where !notInList.Contains(a.DOCID) && b.VID == "1"
group a by a.DOCID into g
select g.Key;