方法一:

思路:

门员工关系表 dept_emp 与职称表 titles 进行连接,查询当前员工的部门编号,title,在 group by dept_no 和 title,算出对应的数目 count。

最后把查询出来的结果 join 部门表 departments,把部门名称 dept_name 加入到以上查询中,即可。

代码:

select
    tem.dept_no,
    ds.dept_name,
    tem.title,
    tem.count
from
    (
        select
            dept_no,
            title,
            count(title) count
        from
            dept_emp dp,
            titles t
        where
            dp.emp_no = t.emp_no
            and t.to_date = '9999-01-01'
        group by
            dp.dept_no,
            t.title
    ) tem
    left join departments ds on tem.dept_no = ds.dept_no
order by
    tem.dept_no,
    tem.title