我有两张桌子
1.申请人表(身份证,姓名)
2.帖子表(id,post_name,applicant_id)
如果我进行内部联接,我将得到正在发布职位的申请人(从applicants
内部联接posts
接通posts
。applicant_id
= applicants
。id
的SELECT COUNT(*))。
现在,我需要做些什么来吸引没有职位的申请人。
最佳答案
您需要一个outer join
和HAVING
子句
SELECT
a.id
, COUNT(p.applicant_id) post_count
FROM applicants a
LEFT OUTER JOIN posts p
ON a.id = p.applicant_id
GROUP BY
a.id
HAVING COUNT(p.applicant_id) = 0
实际上,您不需要分组依据,这就足够了:
SELECT
a.id
FROM applicants a
LEFT OUTER JOIN posts p
ON a.id = p.applicant_id
WHERE p.applicant_id IS NULL