MS SQL - 计算一个月的计划付款

时间:2015-02-11 16:00:49

标签: sql-server

我需要计算一个计划在特定月份花费了多少客户。

计划的浮动结算周期为一个月 - 例如结算周期可以从'2014-04-16'运行到'2014-05-16'。

我知道计划的开始日期,结束日期可以是特定日期,如果计划仍在运行,则为NULL。

如果结束日期不为空,那么客户将被收取整整一个月的费用 - 而非按比例收费。示例:结算周期从每月的第4个到第4个,但是客户在10日结束他的计划,他仍然会被收费到下个月的第4个月。

任何人都可以帮助我吗?我觉得我已经超过了这一百万次,而且无法理解它。


我拥有的变量:

  • @planStartDate [计划的开始日期]
  • @planEndDate [计划的结束日期 - 可以为空]
  • @billStartDate [账单的开始日期 - 例如:2015-02-01]
  • @billEndDate [账单开始日期后一个月 - 2015-03-01]
  • @price [计划每个结算周期的价格]

1 个答案:

答案 0 :(得分:0)

根据您迄今为止提供的非常小的信息,我可以给出最佳答案(顺便说一下,如果您能指定更多信息,它将真正帮助人们更快/更轻松/更有效地回答您的问题;涉及的表,所有列等。):

"我需要计算一个计划在特定月份花费了多少客户。"

SELECT SUM(price),customerID(我假设你在这个表中有一些列来区分客户)FROM table_foo 其中planStartDate BETWEEN ='您指定的具体日期'

它有点粗略的查询,但这是我能给出的最好的,直到你更明确地指定你的变量(即涉及的表,表格中的所有列等等)