Sobes.tech
Middle

Kā izveidot SQL vaicājumu, lai saskaitītu darbinieku skaitu algu kategorijās ar 0 tukšajās kategorijās?

sobes.tech AI

Atbilde no AI

Lai saskaitītu katras algas kategorijas darbinieku skaitu un rādītu 0 kategorijām, kurās nav darbinieku, jāizmanto LEFT JOIN ar algas kategoriju tabulu.

Pieņemsim, ka ir divas tabulas:

  • salary_categories (id, kategorijas_nosaukums)
  • employees (id, vārds, salary_category_id)

Piemērs vaicājumam:

SELECT sc.kategorijas_nosaukums, COUNT(e.id) AS darbinieku_skaits
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.kategorijas_nosaukums
ORDER BY sc.kategorijas_nosaukums;

Skaidrojums:

  • LEFT JOIN nodrošina, ka visi salary_categories kategorijas būs rezultātos, pat ja tajās nav darbinieku.
  • COUNT(e.id) skaita katras kategorijas darbinieku skaitu; tukšās kategorijās rezultāts būs 0.

Šī pieeja ļauj iegūt pilnu kategoriju sarakstu ar pareizu darbinieku skaitu.