获取行和列的总和

时间:2011-05-13 11:00:41

标签: sql coldfusion row sum

到目前为止,我已经制作了一个包含产品及其总和的表,根据一个月,我是一个新的,所以我有一个错误:变量total2_1_27未定义。我不能按月收到产品的总和,我发现到目前为止连续但是无法通过列...所以这里是代码: http://jsfiddle.net/Tskak/1/我只是无法理解如何定义这个total2,这一行:

<cfset 'total2_#ddd_other#_#p_index#'=evaluate('total2_#ddd_other#_#p_index#') + #evaluate('alan2_#ddd_other#_#p_index#')#>
有人帮忙!谢谢大家的帮助!

2 个答案:

答案 0 :(得分:1)

希望您使用的是SQL Server 2005或更高版本。由于使用了DATEPART功能,我假设您使用的是SQL Server。我实际上会使用SQL Server中的PIVOT命令来解决您的问题,以按产品ID和月份获取总计列表,并将它们转换为CFQUERY中的列。它将大大减少页面上的代码量,如果你在查询中进行总计,则应将代码缩减到CFQUERY,然后在表格周围简化CFOUTPUT / CFLOOP 。它会清除列表中的所有列表和循环。将使这个页面成为代码的乐趣,而不是现在的头痛。

答案 1 :(得分:0)

请勿在{{1​​}}之类的cfset中使用评估或将变量名称放在引号内。

而是引用这样的变量:

<cfset 'blah_#x#' = foo>

<cfset variables['total2_#ddd_other#_#p_index#'] = variables['total2_#ddd_other#_#p_index#'] + variables['alan2_#ddd_other#_#p_index#']>

这假设值在变量范围内。如果它在会话范围内,你会引用它<cfset variables['total2_' & ddd_other & '_' & p_index] = variables['total2_' & ddd_other & '_' & p_index] + variables['alan2_' & ddd_other & '_' & p_index]> 。你也可以在CF8和CF9中使用+ =,所以这没关系:

session['total2_' & ddd_other & '_' & p_index]