Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Coldfusion 为什么输出重复两次?_Coldfusion - Fatal编程技术网

Coldfusion 为什么输出重复两次?

Coldfusion 为什么输出重复两次?,coldfusion,Coldfusion,我有这个疑问是的,很长,正在努力使它变得更好 <cfquery datasource="Intranet" name="getHighestDeptAverage"> DECLARE @today DATETIME SET @today = '2014-04-13' ;with CTE as( Select d.csedept_name,d.csedept_id, Average = CASE WHEN d.csedept_question5 IS NULL T

我有这个疑问是的,很长,正在努力使它变得更好

<cfquery datasource="Intranet" name="getHighestDeptAverage">
DECLARE @today DATETIME
SET @today = '2014-04-13'

  ;with CTE as(
    Select d.csedept_name,d.csedept_id, Average = CASE WHEN d.csedept_question5 IS NULL
    THEN (Select AVG(((cast(c.rating1 as Float)+ cast(c.rating2 as Float)+cast (c.rating3 as Float)+cast(c.rating4 as Float))/4))
        From intranet.dbo.CSEReduxResponses c
        Where c.employeedept = d.csedept_id
        AND c.execoffice_status > 0
        AND month(approveddate) = MONTH(@today))
    ELSE (Select AVG(((cast(c.rating1 as Float)+ cast(c.rating2 as Float)+cast (c.rating3 as Float)+cast(c.rating4 as Float)+cast(c.rating5 as Float))/5))
        From intranet.dbo.CSEReduxResponses c
        Where c.employeedept = d.csedept_id
        AND c.execoffice_status > 0
        AND month(approveddate) = MONTH(@today))
    END
from Intranet.dbo.CSEReduxDepts d
)
Select Top 2 Ranks = RANK() Over(Order By Average DESC),* 
from CTE
</cfquery>
我想输出前两个等级, 这就是我所做的:

<cfoutput query="getMaxstars">

    <cfif rnk eq 1>

        <cfset average_rating_max = total_stars>
        <cfset average_rating_dept = first_name>
        <cfset average_rating_dept_last_name = last_name>
    </cfif>

       <cfif rnk eq 2>

        <cfset average_rating_max_runnerup = total_stars>
        <cfset average_rating_dept_runnerup = first_name>
        <cfset average_rating_dept_runnerup_last_name = last_name>
    </cfif>

</cfoutput>
  <cfoutput query="getHighestDeptAverage">
     <h3>Winner: Department- #highest_dept_name_average#</h3>
     <h3>Average:  #hihest_dept_average# </h3>
     <h4>Runner-up: Department- #highest_dept_name_runnerup# </h4>
     <h4> Average: #highest_dept_name_average_runnerup# </h4>
  </cfoutput>
现在正在输出两次结果,我只希望它输出 一旦我觉得应该行得通,因为我还有另外一个问题,我也是这么做的
如果输入和输出,那么我不确定为什么输出两次?

如果我正确地阅读了您的问题和代码,我相信您会希望删除

 query="getHighestDeptAverage"
从你的第二个


您没有在此处返回查询结果,但您有两个结果,因此是第二个输出。

如果我正确阅读了您的问题和代码,我相信您会希望删除

 query="getHighestDeptAverage"
从你的第二个


您没有在此处返回查询结果,但您有两个结果,因此是第二个输出。

在没有阅读任何代码并注意到问题已得到回答的情况下,我建议您检查cfoutput的group属性。它通常可以解决重复输出的问题。在没有阅读任何代码并且没有注意到问题已经得到回答的情况下,我建议您检查cfoutput的group属性。它通常解决重复输出的问题。