我有两张 table ;
其中包含一列 ENTITYID 和一列表示作业是否为全职(1 为全职)。
另一个表包含匹配的 ID 和一列,说明这些职位所在的国家/地区。
我的任务是查找表 1 中的所有全职工作,然后使用该信息从表 2 中查找它们所在的国家/地区。但对于第二部分,它需要计算每个国家的就业数量。 IE。 10 个日本、5 个美国、2 个英国。不是日本、日本、日本等。
到目前为止我所拥有的:
SELECT entityid FROM dbo.Jobs WHERE contracthours = 1;
这将返回所有全职 (= 1) 的职位 ID (entityid)。但是我现在如何获取这些数据并使用它在第二个表中查找它们。
在表2中:
SELECT COUNT(ID), ISNULL(country, 'No Country')
FROM dbo.JobLocations
GROUP BY Country;
这将返回包含每个作业计数的作业,并将没有关联国家/地区的作业替换为“无国家/地区”(我的任务要求的一部分)。
我需要做的是从 table1 上的第一个查询中获取内容,并以某种方式 INNER JOIN 它并返回类似于 table2 上使用的第二个查询的结果。
编辑:我应该注意到 table1 中的 ENTITYID 等于 table2 中的 JOBID
一些视觉效果,第一张图片显示 table1 ID 和契约(Contract)时间(1 是全职),第二张图片显示 table2 ID 和相关国家/地区。
最佳答案
SELECT COUNT(ID), ISNULL(country, 'No Country')
FROM dbo.JobLocations
where JOBID in (SELECT entityid FROM dbo.Jobs WHERE contracthours = 1)
GROUP BY Country;
关于sql - 如何使用 SQL INNER JOIN 两个表中的条件数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52339624/