2011-03-17 35 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)