返回多列

时间:2018-04-11 20:20:50

标签: sql ms-access subquery

我有两张表如下:

enter image description here

enter image description here

我必须显示经理姓名列表和他/她的最高项目预算。这就是我到目前为止所做的:

SELECT emp.Name, proj.Budget
FROM EmployeeStatistics emp, Projects proj
WHERE (emp.EmployeeID, proj.Budget) IN (SELECT EmployeeIDNO, MAX(Budget)                                                                          
                                        FROM Projects                                                                             
                                        GROUP BY EmployeeIDNO)

但是当我尝试运行它时,我收到以下错误:

enter image description here

现在,如果我只运行子查询,结果是:

enter image description here

在我的主查询中,我只需要将名称和预算与子查询的结果相关联,但这是我无法弄清楚的

1 个答案:

答案 0 :(得分:0)

一个简单的JOIN应该可以工作,不需要子查询。这是explicit join syntax

SELECT emp.Name, MAX(proj.Budget) as MaxBudget
FROM EmployeeStatistics emp
JOIN Projects proj on emp.EmployeeID = proj.EmployeeIDNO
GROUP BY emp.Name

如果您想包含没有预算的员工,请改用LEFT JOIN