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

标签 mysql sql

给定三个表

  • 部门
  • 部门员工
  • 员工

我想列出分配到员 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/

相关文章:

Mysql 使用动态数据库名称创建表

sql - 替换字符串中的字符而不影响名称

php - sql在另一个表中选择 'where'

SQL Server 2008 R2 存储多媒体

php - 按每天按每月计数生成统计数据/报告

php - PDO 准备和执行查询总是返回错误

php - PHP 中的产品过滤器从 MySQL 表中过滤

mysql - 按 GROUP 限制而不省略重复项?

sql - 在生成查询时需要帮助

mysql - 当每行递增每个值时,如何使用 “ON DUPLICATE KEY UPDATE” 递增 MySql 中的字段?