2016-02-19 105 views
0

我有一个表调用部门提供柱: DepartmentID的 DepartmentName的平均通过

另一个表中调用EMPLOYEE使用列: EmployeeID为 DepartmentID的 EmployeeName 薪酬

我需要一个JOIN查询可能Group By显示DepartmentName和AVERAGE工资

基本上输出应显示: DepartmentX 40000 DepartmentY 15000 DepartmmentZ 35000

+1

嗨Akram,你可以发布你迄今为止尝试过的吗?它会帮助我们,帮助您调试您的问题。另外,你使用的是什么数据库? –

回答

0

您需要使用AVG()聚合函数JOIN两个表之间像

SELECT d.DepartmentName, 
AVG(e.Salary) as average_salary 
FROM Employee e 
JOIN DEPARTMENTS d ON e.DepartmentID = d.DepartmentID 
GROUP BY e.DepartmentID; 

(OR)获得平均,然后再执行JOIN

SELECT d.DepartmentName, 
xx.average_salary 
FROM DEPARTMENTS d 
JOIN (
select DepartmentID, AVG(Salary) as average_salary 
from Employee 
GROUP BY DepartmentID) xx ON xx.DepartmentID = d.DepartmentID; 
+0

拉胡尔谢谢你!是的,这是我正在寻找的答案。 Eric也谢谢你:) – Akram