С учетом двух отдельных запросов SQL:
SELECT COUNT(N.NurseID) AS Nurses, D.DName, D.HName
FROM Department AS D, Nurse_Work AS N
WHERE N.DName = D.DName AND N.HName = D.HName
GROUP BY D.DName, D.HName;
SELECT COUNT(P.PhysicianID) AS Physicians, D.DName, D.HName
FROM Physician AS P, Department AS D
WHERE P.DName = D.DName AND P.HName = D.HName
GROUP BY D.DName, D.HName;
Я получаю следующий результат:
SELECT COUNT(N.NurseID) AS Nurses, D.DName, D.HName FROM Department AS D,
Nurse_Work AS N WHERE N.DName = D.DName AND N.HName = D.HName GROUP BY
D.DName, D.HName
NURSES DNAME HNAME
----------- -------------------------------- ----------------------------------
8 General Surgery H1
10 General Surgery H3
7 General Surgery H4
10 General Surgery H5
7 General Surgery H2
3 Intensive Care Unit H1
2 Intensive Care Unit H3
1 Intensive Care Unit H4
2 Intensive Care Unit H5
3 Intensive Care Unit H2
6 Ophthalmology H1
4 Ophthalmology H3
4 Ophthalmology H4
2 Ophthalmology H5
2 Ophthalmology H2
3 Otolaryngology H1
1 Otolaryngology H3
2 Otolaryngology H4
2 Otolaryngology H5
2 Otolaryngology H2
4 Radiology H1
6 Radiology H3
4 Radiology H4
5 Radiology H5
6 Radiology H2
25 record(s) selected.
SELECT COUNT(P.PhysicianID) AS Physicians, D.DName, D.HName FROM Physician AS
P, Department AS D WHERE P.DName = D.DName AND P.HName = D.HName GROUP BY
D.DName, D.HName
PHYSICIANS DNAME HNAME
----------- ------------------------------------------------------------ ------------------------------------------------------------
2 General Surgery H1
2 General Surgery H3
2 General Surgery H4
2 General Surgery H5
2 General Surgery H2
1 Intensive Care Unit H1
1 Intensive Care Unit H3
1 Intensive Care Unit H4
1 Intensive Care Unit H5
1 Intensive Care Unit H2
1 Ophthalmology H1
1 Ophthalmology H3
1 Ophthalmology H4
1 Ophthalmology H5
1 Ophthalmology H2
1 Otolaryngology H1
1 Otolaryngology H3
1 Otolaryngology H4
1 Otolaryngology H5
1 Otolaryngology H2
1 Radiology H1
1 Radiology H3
1 Radiology H4
1 Radiology H5
1 Radiology H2
25 record(s) selected.
Моя цель состоит в том, чтобы найти отделение и его больницу с наибольшим количеством сотрудников (медсестер и врачей), мне удалось отдельно подсчитать, сколько сотрудников по работе, теперь я хотел бы объединить результирующие таблицы в одну, где столбец на слева - сумма медсестер и врачей в соответствующей комбинации отделения / больницы. Я попытался использовать JOIN и UNION, однако они только дают мне результирующую таблицу с тремя столбцами, где в одном столбце отображаются как врачи, так и медсестры вместе со значениями, разделенными, а не суммированными. Как я могу создать таблицу со столбцом, который будет суммировать количество медсестер и врачей в соответствующей комбинации отделения / больницы?