我正在尝试从正在执行SUMPRODUCT计算的<cfquery>中获取单个数值。我知道以下代码可以产生所需的值(通过<cfdump>验证)。我只需要知道如何获取该值,就可以在<cfset>中进一步操作并在<cfoutput>中显示它。

这是我正在使用的代码:

<cfquery datasource="db" name="mQry">
    SELECT
        SUM(factors.wt * temp.dp)
    FROM
        factors
            INNER JOIN
        temp ON factors.fpID = temp.fpID
    WHERE
        factors.fpID IS NOT NULL
        AND temp.fpID IS NOT NULL
</cfquery>

<cfdump var="#mQry#">

最佳答案

首先,您需要使用AS ColumnAlias为查询中的列命名

<cfquery datasource="db" name="mQry">
SELECT
    SUM(factors.wt * temp.dp) AS SumProduct
FROM
    factors
        INNER JOIN
    temp ON factors.fpID = temp.fpID
WHERE
    factors.fpID IS NOT NULL
    AND temp.fpID IS NOT NULL
</cfquery>


要将其设置为变量:

<cfset myVariable = mQry.sumProduct>


输出

<cfoutput>#mQry.sumProduct#</cfoutput>

10-04 15:49