ColdFusion中的2维数组

时间:2017-09-02 23:14:53

标签: arrays dictionary coldfusion

我试图在ColdFusion或字典中使用2维数组。

我正在阅读数据库:

<cfquery name="getData" datasource="myDB">
    Select Name, Score From Customer
</cfquery>

我在这个查询中有一个循环。我的查询将返回6条记录,如下所示:

Test1, 3
Test2, 0
Test1, 1
Test3, 1
Test3, 3
Test2, 0

我想将这些数据放在数组/字典中,其中名称不会重复分数将被添加。在这种情况下,三个二维数组:

myArray(Test1, 4)
myArray(Test2, 0)
myArray(Test3, 4)

在ColdFusion中可以吗?

由于

2 个答案:

答案 0 :(得分:2)

您可以随时将查询更改为:

select name, sum(score) totalScore
from customer
group by name

或者,如果您确实需要单个记录,则可以查询查询。

答案 1 :(得分:2)

如果没有使用数组的特殊原因,您也可以使用Struct。

这将如下所示:

<cfset myStruct = {} >
<cfloop query="getData">
  <cfif NOT StructKeyExists(myStruct,Name)>
    <cfset myStruct[Name] = [] >
  </cfif>
  <cfset ArrayAppend(myStruct[Name],score) > 
</cfloop>