我已經制作了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