2

2つのテーブルがあります。1つはでEmployee_Mstr、もう1つはですEmployeeLeaveRequest_mstr

私のデータ:

私のデータ

4

5 に答える 5

3

を使用し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;
于 2012-06-11T07:54:30.340 に答える
2
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番目のテーブルに正しいテーブル名を設定するだけです。

于 2012-06-11T07:54:08.687 に答える
0

pk emp_cdキーを作成し、を使用して物語に参加しleft joinます。次に、を使用sumofして値を追加し、値を追加するgroupby前に使用できます。

必要に応じて、w3school.comを確認してください。

于 2012-06-11T07:53:57.280 に答える
0
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)
于 2012-06-11T08:03:17.530 に答える
0

これを試して:

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;
于 2012-06-12T03:21:04.187 に答える