私は SQL Server 2005 を使用しており、基本的なことには精通していますが、少し頭を悩ませている問題があり、助けていただければ幸いです。
作業しようとしているテーブルが 2 つあります。1 つは従業員データベース テーブルで、もう 1 つは組織テーブルです。従業員テーブルでは、各従業員に関連付けられた部門 ID と現在の雇用状況があります。組織テーブルには、部門 ID、その部門がロールアップされる部門、および現在のアクティブなステータスのリストがあります。その部門のアクティブな (値 - A) 従業員の総数と、その下にあるすべてのアクティブな (値 - A) 部門を最後まで返す、部門 ID を指定できるクエリを作成する必要があります。
関連するテーブルと列:
EE_Persons_today
DEPTID
EMPL_STATUS
DEPARTMENT_DATA
DEPTID
REPORTS_TO_DEPT
EFF_STATUS
例:
IT 部門には 300 人が直接割り当てられていますが、ソフトウェアとハードウェアの 2 つのサブグループもあります。ハードウェアには 100 人が直接割り当てられており、サブグループはありません。Software には 100 人が直接割り当てられており、Enterprise と呼ばれる 1 つのサブグループに 50 人が直接割り当てられています。IT に何人いるかを尋ねると、300+100+100+50 = 550 になります。ソフトウェアに何人いるかを尋ねると、100+50=150 になります。