Sql 具有不同列的内部联接

Sql 具有不同列的内部联接,sql,oracle18c,Sql,Oracle18c,我能够编写执行查询的select语句。但是,我要查找显示的“DepartmentID”列,它只显示唯一的值 我试图在不同的地方使用“独特”和“独特”,但我没有成功。以下是示例表数据: 输出显示所有“部门ID”条目,但我只希望显示具有唯一值的条目。如果“唯一”值指的是只有一名员工的部门,则使用聚合: SELECT d.departmentid, d.departmentname, MAX(e.FirstName || ' ' || e.LastName) AS Chair FROM

我能够编写执行查询的select语句。但是,我要查找显示的“DepartmentID”列,它只显示唯一的值

我试图在不同的地方使用“独特”和“独特”,但我没有成功。以下是示例表数据:

输出显示所有“部门ID”条目,但我只希望显示具有唯一值的条目。

如果“唯一”值指的是只有一名员工的部门,则使用聚合:

SELECT d.departmentid, d.departmentname, 
       MAX(e.FirstName || ' ' || e.LastName) AS Chair
FROM Employees e JOIN
     Departments d
     ON e.departmentid = d.departmentid 
GROUP BY d.departmentid, d.departmentname
HAVING COUNT(*) = 1
ORDER BY d.departmentid;
编辑:

根据您更新的问题,您根本不需要聚合。只有正确的
连接
条件:

SELECT d.departmentid, d.departmentname, 
       (e.FirstName || ' ' || e.LastName) AS Chair
FROM Employees e JOIN
     Departments d
     ON e.employeeid = d.departmentchair 
ORDER BY d.departmentid;

您是否已经尝试过选择DISTINCT?如果这不能满足您的需要,那么您可以添加数据来说明问题所在吗?@TimBiegeleisen:Marcus使用
UNIQUE
,这是
DISTINCT
的同义词。如果一个部门有多名员工,应该如何显示?向我们展示一些示例表数据和预期结果。全部为格式化文本,而不是图像。再看看,我不相信这会奏效。请参阅我新添加的源材料,其中包括表格信息以及我想要的结果。我当前的SELECT语句返回Employees表中的所有条目,但我只希望返回唯一值(1、2、3),因此总共返回3个值。