我需要计算加班费的运行总计 SQL Server 2008的累积运行总计
的差异列计算ContractedHours和Hours_delivered_in_period
在上面的例子之间的区别,他们在第二阶段工作时间为“-4”小时,在第十阶段工作时间为“+1”小时。
这应该总共为-3。然后在第11期,他们加班时间为“9.5”小时,但应该使他们回到正值“+6.5”
一旦他们回到整体积极的时间,它应该重置回0,因为他们不应该积累积极因为它们不应该被“保留”,因此它们总是重置为0.
它们可能在时期12中具有负差异,并且从时期11计算的正时数不应该被计数对于总数,因此小时应该返回到0,一旦小时积极
我怎样才能计算这个SQL Server 2008中运行“负”的总数来追踪亚迪?
编辑 - UPDATE
这里的例子列,我想在SQL这样做,我在Excel中所做的和我想知道怎么做,列在SQL叫做“他们Undertime “
Excel的forumula是 ”= IF(OR(H2 < 0,H3 < 0),H 2 + I 3)“
我的SQL学尝试吨低于,但它不增加差异,它保持在“-4”,不添加下一个值。
SELECT T1.* ,
T2.RunningSum
FROM Staff_Tracked_Hours As T1
CROSS APPLY (SELECT sum(differencefromzero) AS RunningSum
FROM dbo.Staff_Tracked_Hours AS CAT1
WHERE (CAT1.Id <= T1.Id and CAT1.personID ='000033485')
) AS T2
where t1.personID ='000033485'
你需要一个SQL触发后更新所涉及的专栏。 – Amit
只留下几列(在您的查询中使用的那些列),生成INSERT语句并提供预期结果 –
请将预期结果和实际结果作为文本(而非图片)发布。也尝试共享您的查询尝试(如果有) – TheGameiswar