2015-02-02 4 views
-3

Как мне найти название проекта с наибольшим количеством назначенных ему сотрудников?Как найти название проекта с большинством сотрудников

projectTable 
------------ 
Pid 
Pname 
Budget 
ManagerId 

EmployeeTable 
------------- 
Eid 
ename 
city 
status 
age 

WorksTable 
---------- 
pid 
eid 
w_hour 
+0

Без гораздо более подробно о схеме базы данных, нет никакого способа для любого члена общества в целом, чтобы ответить на этот вопрос. –

+0

@ Hunter, что делает его более читаемым. Ницца. – Thihara

+0

, по всей видимости, достаточно информации, @JamesMcLeod, но у нее нет попыток ее решить, что делает ее похожей на домашнюю проблему. – tedder42

ответ

0

Необходимо выполнить подсчет сотрудников по проекту. Это можно сделать в WorksTable (при условии 1: 1) и включает COUNT() и группу. Группы по проекту. Если вы по ошибке группируете идентификатор сотрудника, то вместо этого вы увидите, сколько проектов присваивается каждому сотруднику (в основном, небольшие числа).

Вам также нужно найти Pname для pid, из projectTable. Комбинируя эти в один запрос должен выглядеть следующим образом:

SELECT t1.pid, count(t1.eid) as employeeCount, t2.Pname from WorksTable as t1, projectTable as t2 where t1.pid=t2.Pid group by t1.pid;

Смежные вопросы