SQL - 负小时累积总计

时间:2017-08-08 10:45:31

标签: sql sql-server sql-server-2008

我想跟踪只有负数的余额。如果结果是正数,那么它应该只是“0”。我只想跟踪负面时间。

如果它是负的

,SQL应该将下一行的差异添加到前一行

enter image description here

SELECT DISTINCT 
    s.id, s.differencefromzero AS [Negative Only Hours], 
    s.difference, answer = 0
FROM 
    Staff_Tracked_Hours s
WHERE
    s.personID = '000033485'

ORDER BY
    s.ID ASC

我该怎么做?

1 个答案:

答案 0 :(得分:2)

这个问题的本质是递归的。我首先在原始表中添加了一个新的String列,然后使用递归row_number()来获得结果:

CTE

这是输出:

enter image description here