2011-03-17 60 views
2

我有这样的数据:条件运行总跨列在SQL

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

我会让你的总列计算(并持续)。然后,您可以简单地将列加起来并将它们包装在一个CASE中,如果小于零,则设置为0.我会使用类似的东西(在需要时使用ISNULL)。

(CASE WHEN ([DAY1]+[DAY2])<(0) THEN (0) ELSE [DAY1]+[DAY2] END)