sql server—显示基于另一个表的范围内的记录计数的sql查询

zujrkrfu  于 2021-08-13  发布在  Java
关注(0)|答案(2)|浏览(309)

我有两张table Range 以及 Employee . Range 表由列组成

minimum_salary, maximum salary, program

(可用于该工资的项目,如白金和银等)。 Employee 表有列

Emp_Id, Emp_Name, Salary

https://i.stack.imgur.com/rkaxp.png

我想写一个sql查询,在range表中得到属于给定薪资范围的员工数,请参考表和结果集的屏幕截图。
感谢您的帮助。谢谢

w46czmvw

w46czmvw1#

你可以在不等式条件下加入:

select r.program, count(e.emp_id) no_employees
from ranges r
left join employees e on e.salary between r.min_salary and r.max_salary
group by r.program
fcg9iug3

fcg9iug32#

请在中添加一列 Range 该名称的表 Emp_ID . 因为,把两个表连接起来会有帮助。我的意思是需要主键和外键。
查询:

select COUNT(e.empID), r.program
FROM rangeTable AS r
INNER JOIN empTable AS e ON e.salary BETWEEN r.min_salary AND r.max_salary
GROUP BY r.program

相关问题