嗨,我知道 SQL,但是当我遇到一个无法在线找到解决方案的特定问题时,我正在通过连接工作。
我正在使用 Microsoft SQL Server Management Studio。我有两张桌子需要加入。
作业表
Job_Matches 表。
jobs 表中有一个包含 10 个工作的列表,而在 job_matches 表中有一个包含 60 个左右与这些工作匹配的人的列表。所以我想在一列中列出工作和数量的人在另一个匹配它。我使用了以下查询
Select
Jobs.Id , count(Job_Matches.Job_id)
From
Jobs, Job_Matches
where
Jobs.Id = Job_Matches.job_id
group by (Jobs.id);
这些表在 Jobs.ID 和 Job_Matches.Job_Id 上匹配
它做了我想要的,除了它忽略了与它匹配的人为零的任何工作。所以我得到了一个包含 7 个工作的列表,第二列中每个工作的匹配数。
这是有道理的,因为它只匹配 id 相等的地方,如果没有人与作业匹配,则 id 不会出现在第二个表中。
所以我想知道在查询中有没有办法这样说:
if(Jobs.ID not in Job_Matches 默认为零) 或类似的东西。
谢谢阅读。