根据另一个表中的计数在一个表中列出详细信息

时间:2015-11-07 03:24:48

标签: mysql sql

给出三个表

  • 部门
  • dept_emp
  • 员工

我想列出分配给员工人数超过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
    )

1 个答案:

答案 0 :(得分:1)

这是你在找什么?

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
)