0

私は持っている

employees table(id,f_name,l_name,salary,dept_id,manager_id)

departments table(id,dept_name,manager_id)

dept_name、そのmanager_id、マネージャーl_name、およびそれぞれのマネージャーの下で働いている従業員の数を単一のテーブルに表示したいと思います。

4

5 に答える 5

0

簡単なクエリでこれを行うことができますが、従業員テーブルの manager_id を削除し、従業員レコード ID を識別子として使用する必要があります。

Select dept.dept_name, dept.manager_id, (select e.l_name from employees as e where e.id = dept.manager_id), count(select em.id from employees as em where dept.id = em.dept_id) FROM departments as dept

これは機能するはずですが、使用している特定のデータベースを指定していません。質問を更新するか、どのデータベースを教えてください。うまくいかない場合は、そのデータベースを編集できます。

于 2013-07-11T03:55:05.993 に答える
0

correlated subqueryカウントを取得するためにこれを達成できます。join を使用して選択できる残り。これはあなたを助けるかもしれません

 SELECT  D.dept_name,
            D.manager_id,
            E.l_name,
            (SELECT COUNT(*) 
                     FROM employees 
                     WHERE manager_id=D.manager_id) AS numberOfEmployees
 FROM   departments D INNER JOIN employees E ON D.manager_id=E.id
于 2013-07-11T05:49:26.773 に答える