给定三个表
- 部门
- 部门员工
- 员工
我想列出分配到员 worker 数超过 50,000 人的部门的员工。
我已经尝试了几种使用子查询的不同方法,但都没有得到正确的结果。
这是一次失败的尝试。注意:我想要员工及其所在部门的详细信息
select
a.dept_name,
c.*
from
departments a
left outer join
dept_emp b
on
b.dept_no = a.dept_no
left outer join
employees c
on
c.emp_no = b.emp_no
where
c.emp_no
in
(select
emp_no
from
dept_emp
group by
dept_no
having
count(dept_no) > 50000
)
最佳答案
这是您要找的吗?
select
a.dept_name,
c.*
from departments a
inner join dept_emp b on b.dept_no = a.dept_no
inner join employees c on c.emp_no = b.emp_no
where b.dept_no in
(select dept_no
from dept_emp
group by dept_no
having count(*) > 50000
)
关于mysql - 根据另一个表中的计数列出一个表中的详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33578801/