Для каждой должности сотрудников подсчитать число сотрудников и число заказов.
пока я мучаюсь с выводом должности и количеством сотрудников для каждой должности.
Вот что выводиться...
Naimenovanie...........Kolichestvo
официант/курьер....5
SELECT
Dolzhnosti.Naimenovanie,
COUNT(Sotrudniki.Kod_dolzhnosti) AS Kolichestvo
FROM
Dolzhnosti
INNER JOIN
(FormirovanieZakaza
INNER JOIN
Sotrudniki
ON
FormirovanieZakaza.Kod_sotrudnika = Sotrudniki.Kod_sotrudnika)
ON
Dolzhnosti.Kod_dolzhnosti = Sotrudniki.Kod_dolzhnosti
GROUP BY
Dolzhnosti.Naimenovanie;
Ответ
SELECT Dolzhnosty.Kod_dolzhnosty, COALESCE(T.kolichestvo_sotr, 0) as kolichestvo_sotr, COUNT(*) as kolichestvo_zakazov FROM Dolzhnosty --LEFT нужны для того, чтобы не потерять должности, у которых нет сотрудников --или есть сотрудники, которые не формировали заказы. LEFT JOIN ( SELECT Kod_dolzhnosty, COUNT(*) as kolichestvo_sotr FROM Sotrudniki GROUP BY Kod_dolzhnosty ) as T ON Dolzhnosty.Kod_dolzhnosty = T.Kod_dolzhnosty LEFT JOIN Sotrudniki ON Dolzhnosty.Kod_dolzhnosty = Sotrudniki.Kod_dolzhnosty LEFT JOIN FormirovanieZakaza ON FormirovanieZakaza.Kod_sotrudnika = Sotrudniki.Kod_sotrudnika GROUP BY Dolzhnosty.Kod_dolzhnosty
Комментариев нет:
Отправить комментарий