0
我在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),但只有这些员工在拥有多名员工的部门中工作(因此,只有这些员工具有按DepartmentNumber> 0)
我可以单独做这个任务:
Select FirstName, LastName, ID
from Employee
where ID = ManagerID;
Select count(ID)
from Employee
group by DepartmentNumber;
这对我来说很难了,所以我知道这是这些ID属于以某种方式合并这些知识转化为一个查询和组合数据既是经理又是部门工作的员工超过1人。
我已经完成了类似的任务,但是当涉及到合并1-2-3表分组在不同的级别(并通过不同的键合并)我得到某种困惑。可能我需要做一个临时选择声明,但现在确定如何。
嘿,伟大的 - 我相信它的作品!非常感谢。如何解释存在声明中的Select 1(什么是1代表)? – Bullzeye
我相信只是从结果集中选择第一列 – Vnge
@Bullzeye它不是选择第一列,只是字面值“1”。它可以是'SELECT *','SELECT somecolumn','SELECT NULL'等。它只是检查行的存在,并且我使用'SELECT 1'显式地显示我不需要该子查询中的任何列 – Lamak