Middle
Ako ustvarite SQL poizvedbo za štetje števila zaposlenih v kategorijah plač z izpisom 0 za prazne kategorije?
sobes.tech AI
Odpoveď od AI
Ak chcete spočítať počet zamestnancov v každej kategórii platu a zobraziť 0 pre kategórie, v ktorých nie sú žiadni zamestnanci, musíte použiť LEFT JOIN s tabuľkou kategórií platov.
Predpokladajme, že existujú dve tabuľky:
salary_categories(id, názov_kategórie)employees(id, meno, salary_category_id)
Príklad dotazu:
SELECT sc.názov_kategórie, COUNT(e.id) AS počet_zamestnancov
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.názov_kategórie
ORDER BY sc.názov_kategórie;
Vysvetlenie:
LEFT JOINzabezpečuje, že všetky kategórie zsalary_categoriessa objavia vo výsledku, aj keď v nich nie sú žiadni zamestnanci.COUNT(e.id)spočíta počet zamestnancov v každej kategórii; pre prázdne kategórie bude výsledok 0.
Tento prístup umožňuje získať úplný zoznam kategórií s presným počtom zamestnancov.