2016-05-19 11 views
0

だから私はすべての従業員の給料をリストしたテーブルを持っています。部署を一覧表示する別の表と部署従業員を一覧表示する別の表。テーブルの給与とテーブルdep_empの共通列は、emp_noです。テーブル部門dep_empの間の共通列はdept_noです。私は特定の部門の現在の平均給与を取得する必要がありますmySQL:異なるテーブルで計算を実行する方法

SELECT COUNT(emp_no) 
FROM dept_emp 
WHERE dept_no='d001'; -- this gives me the count that i need to divide the salary by 

しかし、私はこの特定のテーブルと他の間の接続を作るでしょうか?あなたは左使用するかどうか

select d.dept_no, avg(e.salary) 
from departments d 
left join dept_emp de on d.dept_no=de.dept_no 
left join employees e on de.emp_no=e.emp_no 
group by d.tept_no 

か:私は、INNERが

答えて

0

のJOINんはい、あなたが言及したフィールドを使用して、テーブル間の結合が、あなたは平均値を取得するにはAVG()関数を使用することができます必要がある場合内部結合は、あなたの正確な要件に依存します。

関連する問題