こんにちは、 EmployeeとDepartmentの 2 つのテーブルがあります。従業員にはempid、firstName、salary、Department_IDがあり、部門にはdeptidとdeptnameがあります。各部署の最高年俸社員名を給与で表示したい。私は次のコードでやった
select MAX(E.Salary),D.Name from Employee as E JOIN Department As D
ON e.Department_ID = D.Department_ID
GROUP BY D.Name
部門テーブルのみから提供しています(ここには E.FirstName を含めませんでした)。以下のようにクエリを書くと
select E.FirstName MAX(E.Salary),D.Name from Employee as E JOIN Department As D
ON e.Department_ID = D.Department_ID
GROUP BY D.Name
そのエラーを与える
E.FirstName は、集計関数にも GROUP BY 句にも含まれていません。
従業員名も表示するようにこれを変更するにはどうすればよいですか?
group by 句にも E.FirstName を追加すると、次の出力が得られます。
名 給与 部署名
BAKER 1400.00 オペレーション
アレン 5400.00 リサーチ
スミス 1800.00 リサーチ
デニス 4500.00 売り上げ
ミヒル 7500.00 売上高
アーク 8000.00 売上高
Max のサラリーマンだけを部門と給与とともに表示したいと考えています。