在不同级别上聚合一个表两次

时间:2017-05-22 16:08:22

标签: sql sql-server

我是SQL的新手,我正在努力完成一项看似简单的任务。 我们来看看数据:

FirstName LastName     ID           DepartmentNumber    ManagerID
Aliana    Abramova     1111111111   4                   4610226861
Boriana   Borova       2222222222   4                   4610226861
Cali      Moldovanska  3333333333   4                   4610226861
Anelia    Simeonova    4009016246   1                   4009016246
Maria     Tacheva      4206174562   3                   4206174562

这是一张员工表。我想要做的是提取这些作为经理的员工(ID = ManagerID),但只有这些员工才能在拥有多个员工的部门工作(因此只有那些具有按部门编号分组的ID的人员&gt ; 0)

我可以单独完成这项任务:

Select FirstName, LastName, ID 
from Employee 
where ID = ManagerID;

Select count(ID) 
from Employee 
group by DepartmentNumber;

虽然我很难以某种方式将这些知识合并到一个查询中并合并数据,以便我知道哪些属于员工的ID既是管理者又是他们部门的工作人员超过1人。

我已经完成了类似的任务,但是当涉及合并1-2-3个不同级别的表(并且由不同的键合并)时,我会感到困惑。可能我需要做一个临时选择声明,但现在确定如何。

1 个答案:

答案 0 :(得分:1)

您可以使用root@jenkins-docker-01:~# modinfo aufs filename: /lib/modules/4.9.0-3-amd64/updates/dkms/aufs.ko alias: fs-aufs version: 4.9-20161219 description: aufs -- Advanced multi layered unification filesystem author: Junjiro R. Okajima <aufs-users@lists.sourceforge.net> license: GPL srcversion: EAC7876AD444CD8E2C103D2 depends: vermagic: 4.9.0-3-amd64 SMP mod_unload modversions parm: debug:debug print (atomic_t) parm: brs:use <sysfs>/fs/aufs/si_*/brN (int) parm: allow_userns:allow unprivileged to mount under userns (bool)

EXISTS