Sobes.tech
Middle

Ինչպե՞ս ստեղծել SQL հարցում աշխատողների թվաքանակը հաշվելու համար աշխատավարձի կատեգորիաներում՝ բաց կատեգորիաների համար 0 ցուցադրելով։

sobes.tech AI

Պատասխան AI-ից

Աշխատավարձի յուրաքանչյուր կատեգորիայի աշխատակիցների թվաքանակը հաշվելու և այն ցուցադրելու համար, որտեղ աշխատակիցներ չկան, պետք է օգտագործել LEFT JOIN աշխատավարձի կատեգորիաների աղյուսակի հետ:

Ենթադրենք, երկու աղյուսակ կա.

  • salary_categories (id, կատեգորիայի անուն)
  • employees (id, անուն, salary_category_id)

Օրինակ հարցում:

SELECT sc.կատեգորիայի_անուն, COUNT(e.id) AS աշխատակիցների_համար
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.կատեգորիայի_անուն
ORDER BY sc.կատեգորիայի_անուն;

Նկարագրություն:

  • LEFT JOIN ապահովում է, որ բոլոր կատեգորիաները salary_categories աղյուսակից հայտնվեն արդյունքում, նույնիսկ եթե դրանցում աշխատակիցներ չկան:
  • COUNT(e.id) հաշվում է յուրաքանչյուր կատեգորիայի աշխատակիցների թիվը; դատարկ կատեգորիաների համար արդյունքը կլինի 0:
  • Այս մոտեցումը թույլ է տալիս ստանալ կատեգորիաների ամբողջական ցանկը և ճիշտ հաշվարկ աշխատակիցների համար։