我有这些数据:
Player StartBalance Day1Earned Day1Spent Day2Earned Day2Spent Day3Earned Day3Spent
Alex 10 0 0 3 -5 3 -15
如何使用SQL Server对列进行滚动总计,以便第3天的结束余额(实际数据可以扩展到第30天)为0?
每日余额由前一天余额+当前赚取的当天+当前消费天数确定,如果所有3的总和小于0,余额将为0.
答案 0 :(得分:0)
我会计算(并保持)你的总列数。然后你可以简单地将列加起来并将它们包装在CASE中,如果小于零则设置为0.我会使用类似的东西(在需要的地方使用ISNULL)。
(CASE WHEN ([DAY1]+[DAY2])<(0) THEN (0) ELSE [DAY1]+[DAY2] END)