2017-02-23 3 views
0

J'essaie d'obtenir une seule valeur numérique à partir d'un <cfquery> qui exécute un calcul de SUMPRODUCT. Je sais que le code suivant fonctionne pour produire la valeur désirée (vérifiée par <cfdump>). Je dois juste savoir comment obtenir cette valeur comme quelque chose que je peux manipuler davantage dans un <cfset> et l'afficher dans un <cfoutput>.Comment accéder à la valeur SUM de CFQUERY

C'est le code que j'utilise:

<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#"> 

Répondre

6

Tout d'abord, vous devez nommer la colonne dans votre requête en utilisant 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> 

Pour définir à une variable:

<cfset myVariable = mQry.sumProduct> 

Pour le sortir

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

Oui. "AS" est ce qui manquait. THX – BirdDog