我想知道如何设置我的查询以使公司没有工作。
company
- id
jobs
- id
- company_id
所以我想要公司没有任何工作的行结果。
EDIT 抱歉,我在自己的问题中误以为自己..还需要在tabel公司的tabel工作中加入INNER JOIN(jobs.company_id = company.id)
所以: 我想要一个结果来自公司的行没有任何工作或有非工作的工作(active = 0)。
答案 0 :(得分:2)
试试这个:
select id
from company
where id not in(select company_id from jobs where active != 0)
答案 1 :(得分:0)
SELECT c.* FROM companies c
LEFT JOIN jobs j ON c.id=j.company_id
HAVING company_id IS NULL
答案 2 :(得分:0)
SELECT company.id , jobs.id
FROM company
LEFT JOIN jobs ON jobs.company_id = company.id
WHERE jobs.ID IS NULL
答案 3 :(得分:0)
你需要一个外部联接。
试试这个
select count(c.id)
from company c
left join jobs j on j.companyid = c.id
where j.id is null
答案 4 :(得分:0)
尝试下面的查询:
SELECT * FROM company AS c WHERE c.id NOT IN (SELECT company_id FROM jobs)