如何在查询中与工人及其经理一起编写查询

How to write a query with workers and their managers beside them in on query

我有 2 tables(在屏幕截图中 tables)。一名 table 员工与工人和经理,另一名(部门)与部门。我需要编写一个查询,其中包含 returns 员工的姓名、他们的直接经理的姓名、他们的部门名称和他们的薪水加上销售佣金 (COMM)。屏幕截图中的空单元格意味着NULL.also,对某些工人来说,他们没有经理!

我尝试使用 Union all 进行查询,但这是一个问题,因为行不同!。那应该怎么写呢?

select e.ename, d.name, sum (case when e.comm<>null then 1 else 0+ case when e.sal<>null then 1 else 0 end)as sum_total 
from emp as e 
left join dept as d on e.deptno=d.deptno
where e.job<>"Manager"

Union ALL

select e.ename
from emp as e
left join dept as d on e.deptno=d.deptno
where e.job="Manager"

提前致谢

您可以自行加入emptable获取管理员姓名

select e.ename, 
       d.name, 
       coalesce(e.sal, 0) + coalesce(e.comm, 0) as salary, 
       m.ename as manager
from emp e 
join dept as d on e.deptno = d.deptno
left join emp m on m.empno = e.mgr