我可以编写一个执行查询的选择语句。但是,我正在寻找仅显示唯一值的“DepartmentID”列。
我试图在不同的地方同时使用“UNIQUE”和“DISTINCT”,但我没有成功。这是示例表数据:
输出显示所有“DepartmentID”条目,但我只想显示具有唯一值的条目。
如果“唯一”值是指只有一名员工的部门,则使用聚合:
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;
编辑:
根据您更新的问题,您根本不需要聚合。只是正确的JOIN
条件:
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;