2つのテーブルがあります。1つはでEmployee_Mstr
、もう1つはですEmployeeLeaveRequest_mstr
。
私のデータ:
2つのテーブルがあります。1つはでEmployee_Mstr
、もう1つはですEmployeeLeaveRequest_mstr
。
私のデータ:
を使用しGROUP BY
ます。
select t1.emp_cd, t1.emp_name, sum(t2.num_dy) from
Employee_Mstr t1 left join
EmployeeLeaveRequest_mstr t2 on t1.emp_cd = t2.emp_cd group by t1.emp_cd, t2.emp_name;
SELECT tab1.emp_cd, tab1.emp_name, SUM(tab2.num_dy)
FROM Employee_Mstr tab1, "2nd Table Records" tab2
where tab1.emp_cd = tab2.emp_cd
group by tab1.emp_cd, tab1.emp_name;
動作するはずですが、2番目のテーブルに正しいテーブル名を設定するだけです。
主pk emp_cd
キーを作成し、を使用して物語に参加しleft join
ます。次に、を使用sumof
して値を追加し、値を追加するgroupby
前に使用できます。
必要に応じて、w3school.comを確認してください。
select mstr.Emp_cd, mstr.Emp_Name, isnull(sum(det.num_dy), 0) as num_day
from dbo.Employee_Mstr mstr
left join dbo.Employee_Nums det on (mstr.Emp_cd = det.Emp_cd)
group by mstr.Emp_cd, mstr.Emp_Name;
仕事をする必要があります。
SQL実行の結果は次のとおりです。
Emp_cd Emp_Name
----------- --------------------------------------------------
1 A
2 B
3 C
(3 row(s) affected)
Emp_cd num_dy
----------- -----------
3 4
3 2
(2 row(s) affected)
Emp_cd Emp_Name num_day
----------- -------------------------------------------------- -----------
1 A 0
2 B 0
3 C 6
Warning: Null value is eliminated by an aggregate or other SET operation.
(3 row(s) affected)
これを試して:
select t1.cd, t1.name, sum(t2.num_dy) from employee_Mstr t1
left join EmployeeLeaveRequest_mstr t2 on t1.cd = t2.cd group by t1.cd, t1.name;