我已经制作了2个表格 - Department Master和Employee Master。 这是表在MS SQL服务器查询中使用Group By子句
Emp_Id Emp_Name Salary Dept_Id Dept
1 Chandan 10000.00 1 Mechnical
2 Sudhir 11000.00 1 Mechnical
3 Rahul 20000.00 1 Mechnical
4 Kavish 15000.00 1 Mechnical
5 sapin 23000.00 2 Computer
6 Kavita 23200.00 2 Computer
7 amit 50000.00 2 Computer
我想用部门名称和员工姓名 薪我用这此组查询,如下所示
select MAX(Emp_Salery) as Emp_Sal from V_New_Emp_Master group by Dept_Id
我得到最大salery,但当时我想补充EMP_NAME专栏中,我得到一个错误的followes
SQL查询
select MAX(Emp_Salery),Emp_Name as Emp_Sal from V_New_Emp_Master group by Dept_Id
错误:
Msg 8120, Level 16, State 1, Line 1
Column 'V_New_Emp_Master.Emp_Name' is invalid in the select list
because it is not contained in either an aggregate function or the
GROUP BY clause.
对此有任何解决方案?
msg说这一切:你永远不会按emp_name分组,所以哪个emp_name应该从sql server中选择7? –
我找到了解决方案。我们需要复杂的子查询。解决方案如下:从V_New_Emp_Master 中选择Emp_Name,Dept_Name,Emp_Salery 其中,Emp_Salery =(从V_New_Emp_Master中选择max(Emp_Salery)作为f,其中f.Dept_Id = V_New_Emp_Master.Dept_Id); – can123
可能的重复[什么是“无效,不包含在任何聚合函数”消息的意思?](http://stackoverflow.com/questions/18258704/what-does-the-invalid-not-contained-in-非彼一个聚集型函数消息-M) – Tanner