我想知道如何设置我的查询以获得零工作的公司。
company
- id
jobs
- id
- company_id
所以我想要公司没有任何工作的行的结果。
编辑对不起,我在我的问题中误会了自己。它还需要从 tabel 公司的 tabel 工作中进行 INNER JOIN (jobs.company_id=company.id)
所以:我想要一个来自公司的结果 os 行,该公司没有任何工作或有工作非活动(活动 = 0)。
试试这个:
select id
from company
where id not in(select company_id from jobs where active != 0)
SELECT c.* FROM companies c
LEFT JOIN jobs j ON c.id=j.company_id
HAVING company_id IS NULL
SELECT company.id , jobs.id
FROM company
LEFT JOIN jobs ON jobs.company_id = company.id
WHERE jobs.ID IS NULL
你需要一个外部连接。
试试这个
select count(c.id)
from company c
left join jobs j on j.companyid = c.id
where j.id is null
尝试下面给出的查询:
SELECT * FROM company AS c WHERE c.id NOT IN (SELECT company_id FROM jobs)