2017-09-15 128 views
-1

我需要创建一个查询,以根据此数据库方案显示具有最多项目数和最少项目数的部门的经理和部门名称。我无法弄清楚如何确定项目数量最多,金额最少的项目。 Database SchemeSQL查询 - 选择具有最大项目和最少项目的名称

+0

你的尝试在哪里?这看起来像一个家庭作业问题。 – Eric

+0

** [**]您的问题,并根据该数据添加一些示例数据和预期输出。 [**格式化文本**](http://stackoverflow.com/help/formatting)请,[无屏幕截图](http://meta.stackoverflow.com/questions/285551/why-may-i-not -upload图像-的代码上那么当-要价-A-问题/ 285557#285557)。请勿在注释中张贴代码或其他信息 –

回答

0

我想先把所有需要的数据放在一起。您将需要经理姓名,所以我们需要加入employee表。

SELECT 
    e.fname, d.dname 
FROM 
    department d 
LEFT JOIN 
    employee e ON e.ssn = d.mgr_ssn 
LEFT JOIN 
    (SELECT 
     department.dnumber, COUNT(*) [projects] 
    FROM 
     department 
    LEFT JOIN 
     project on department.dnumber = project.dnum 
    GROUP BY 
     department) total ON d.dnumber = total.dnumber 
HAVING 
    total.projects = MAX(total.projects)