员工可以在多个部门工作;“工作关系”的“pct\U时间”字段显示给定员工在给定部门工作的时间百分比。
电磁脉冲(eid:integer, ename:string, age:integer, salary:real)作品(eid:integer, did:integer,百分比_time:integer)部门(did:integer, dname:string, budget:real, managerid:integer)
以下是我目前掌握的情况:
select ename
from emp, dept
where emp.eid = dept.managerid
group by ename
having ename = all(select ename
from emp, dept
where emp.eid = dept.managerid and budget > 1000000) and
ename = any(select ename
from emp, dept
where emp.eid = dept.managerid and budget < 5000000)
有人能帮我解决这个问题吗?我好像一直在这里兜圈子。
1条答案
按热度按时间7gyucuyw1#
首先排除管理预算低于100万的部门的所有人。一个简单的解决方案如下:
下面是一个这样工作的例子:sqlfiddle
编辑:这里是第二个例子。我已将鲍勃提升为人力资源部主管,其预算超过500万美元。如您所见,查询仍然有效:sqlfiddle