我想知道如何設置我的查詢來讓公司沒有工作。SQL:如何找到加入表中沒有條目的地方
company
- id
jobs
- id
- company_id
所以我想從公司的行沒有任何工作的結果。
編輯 對不起,我mistaked我在我的問題。它也需要有內從TABEL公司(jobs.company_id = company.id)
所以TABEL工作JOIN: 我想要的結果OS來自公司的行沒有任何工作或者有非工作崗位(活動= 0)。
我想知道如何設置我的查詢來讓公司沒有工作。SQL:如何找到加入表中沒有條目的地方
company
- id
jobs
- id
- company_id
所以我想從公司的行沒有任何工作的結果。
編輯 對不起,我mistaked我在我的問題。它也需要有內從TABEL公司(jobs.company_id = company.id)
所以TABEL工作JOIN: 我想要的結果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
你能告訴我什麼是錯誤的[我的答案](http://stackoverflow.com/a/12893137/722783)和你的答案和我的區別是什麼?因爲沒有人想告訴我爲什麼他們低估了它。謝謝。 –
嘗試查詢如下:
SELECT * FROM company AS c WHERE c.id NOT IN (SELECT company_id FROM jobs)
'選擇T *從公司裏t.id沒有(從就業選擇COMPANY_ID)'。但我強烈建議你閱讀[這篇文章](http://whathaveyoutried.com) – Leri