我有两张桌子。
表1:实际值
包含所有雇员的表格以及他们在特定月份工作的小时数
| ID | empID | hours | Month | --------------------------------------
表2:
每月有小时目标的目标表。目标是指员工工作的所有小时数总和应达到的金额。
| ID | hours target | Month | -----------------------------------
是否可以使用表2的目标返回所有表1小时的总和,并将其按月分组并将其返回到单个数据集中?
实施例
| Month | Actual Hours | hours target | ----------------------------------------- | 1 | 320 | 350 |
等
希望这很清楚,非常感谢你考虑这个问题。
答案 0 :(得分:2)
这应该有效:
SELECT t.[month], sum(a.[hours]) as ActualHours, t.[hourstarget]
FROM [TargetTable] t
JOIN [ActualsTable] a on t.[month] = a.[month]
GROUP BY t.[month], t.[hourstarget]
用简单的英文写的,你说的是“给我累积的所有小时数,按月分组(还包括当月的目标小时数)”。
答案 1 :(得分:2)
WITH
t1 AS (SELECT mnth, targetHours FROM tblTargetHours),
t2 AS (SELECT mnth, sum(hours) AS totalhours FROM tblEmployeeHours GROUP BY mnth)
SELECT t1.mnth, t2.totalhours, t1.targethours
FROM t1, t2
WHERE t1.mnth = t2.mnth
结果:
mnth totalhours targethours
1 135 350
2 154 350
3 128 350