查询以显示未来的经常性收入

时间:2013-12-30 16:43:20

标签: sql sql-server date coldfusion jqplot

我在ColdFusion和SQL Server中工作并尝试使用jqPlot输出一些信息。我正在努力的部分是SQL查询。

我有一个数据库,其中包含我们的订户向其客户收取的经常性费用表。 它们就像应收账款一样,将在各自的未来日期/时间间隔内自动收费。 (每1(2,3,4等)日,周,月,季,年)。

我正在尝试构建一个条形图,根据预先存在的数据显示当天,接下来的7天,接下来的30天,90天和接下来的365天的总计。< / p>

该表包含:

  • 完成日期=最初设置费用的日期。
  • 费率=费用的成本。
  • 下一个结算日期=第二天费用将转换为订单项(每次转化时更新为新日期)
  • 频率单位= d,ww,m,q,yyyy
  • 频率持续时间= 1,2,3,4等

最后2个确定转换后的下一个结算日期。 它还具有订户ID和客户ID,以跟踪其用户。 (我已经解决了)

有人可以帮助我使用jqPlot如何做到这一点吗? (我已经找到了关于如何显示图表的javascript,这是我难倒的查询

非常感谢你。

史蒂芬

1 个答案:

答案 0 :(得分:2)

对于查询,这就是你说的导致你遇到困难的问题,我会尝试这样的事情:

<cfset DaysAhead = "7,30,365">
<cfset Today = CreateDate(year(now()), month(now()), day(now()))>

<cfquery>
select 'today' period, sum(rate) amount
from yourtable
where BillingDate >= <cfqueryparam value = "#Today#">
and BillingDate < DateAdd(day, 1, <cfqueryparam value = "#Today#">)

<cfloop list = "#DaysAhead#" index = ThisManyDays>
union
select '#ThisManyDays# ahead' period, , sum(rate) amount
from yourtable
where BillingDate >= <cfqueryparam value = "#Today#">
and BillingDate < DateAdd(day, #ThisManyDays# + 1, <cfqueryparam value = "#Today#">)

</cfloop>