Страницы

Поиск по вопросам

среда, 19 июня 2019 г.

Запрос на выборку данных sql

Для каждой должности сотрудников подсчитать число сотрудников и число заказов.
пока я мучаюсь с выводом должности и количеством сотрудников для каждой должности. Вот что выводиться...
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

Комментариев нет:

Отправить комментарий