Rem*_*rME 6 sql linq select linq-to-sql
我有一家餐桌公司,其中包含company_id,company_name和其他详细信息.我有一个表子转包,它有一个映射到company.company_id的company_id列.
如何编写select语句以获取尚未分配给活动转包的所有活动公司?IE无法在subcontracts.company_id中找到company_id
******编辑*****
我相信正确的sql是:
select company_id
from company
where company.active_status = 1
and not exists( select * from subcontracts
where subcontracts.company = company.company_id
AND subcontracts.active_status = 1
)
Run Code Online (Sandbox Code Playgroud)
子选择与 LINQ 中的几乎相同。
var noSubs = from company in context.Companies
where company.active_status == 1 &&
!(from subcontract in context.Subcontracts
where subcontract.active_status == 1
select subcontract.company_id).Contains(company.company_id)
select company;
Run Code Online (Sandbox Code Playgroud)
Linq to SQL 会将其转换为分包表上的“不存在”。