ColdFusion cfoutput查询组

ColdFusion cfoutput查询组,coldfusion,Coldfusion,请参阅本页: 其中包括查询转储。我继承了这段代码,如果可能的话,我更愿意使用它 以下代码按周输出装置 <table cellspacing="0" cellpadding="0" border="0" align="center" width="530"> <tr bgcolor="#797979"> <th align="left"><p>&nbsp;<b>Date</b></p>

请参阅本页: 其中包括查询转储。我继承了这段代码,如果可能的话,我更愿意使用它

以下代码按周输出装置

<table cellspacing="0" cellpadding="0" border="0" align="center" width="530">
    <tr bgcolor="#797979">
        <th align="left"><p>&nbsp;<b>Date</b></p></td>
        <th align="left"><p><b>Game</b></p></td>
        <th align="left"><p><b>Venue</b></p></td>
        <th align="left"><p><b>Time (NZ)</b></p></td>
        <th align="center"><p><b>Result</b>&nbsp;</p></td>
    </tr>

    <cfset iWeekCounter = 0>
    <cfif not attributes.useSegmentTitle and attributes.sortDirection is "desc">
        <cfset qSegments = oSeries.getSegmentInfo(seriesID=attributes.seriesID)>
        <cfset iWeekCounter = qSegments.recordcount + 1>
    </cfif>

    <cfoutput query="qSeriesEvents" group="segmentID">
        <cfif attributes.sortDirection is "desc">
            <cfset iWeekCounter = iWeekCounter-1>
        <cfelse>
            <cfset iWeekCounter = iWeekCounter+1>
        </cfif>
        <tr>
            <td colspan="5"><p><br><strong>
                <cfif attributes.useSegmentTitle>
                    #qSeriesEvents.segment#
                <cfelse>
                    Week #iWeekCounter#
                </cfif>
            </strong></p></td>
        </tr>
        <cfoutput>
            <cfif textObjectCount gt 0>
                <tr>
                    <td><p>&nbsp;#DateFormat(eventDateTime, "dd mmm")#</p></td>
                    <td><p><a href="/index.cfm?layout=#attributes.eventLayout#&event=#eventID#">#event#</a></p></td>
                    <td><p>#location#</p></td>
                    <td><p><cfif showTimeField is 1>#lcase(timeFormat(dateadd('h',iTimeOffset,eventDateTime),"h:mm tt"))#</cfif></p></td>
                    <td align="center" valign="top"><p><cfif isDate(eventDateTime) AND dateDiff("n",eventDateTime, now())>#oEvent.getTeamResult(eventID, homeTeamID)#-#oEvent.getTeamResult(eventID, awayTeamID)#</cfif>&nbsp;</p></td>
                </tr>
                <tr><td colspan="5"><div style="height:1px; padding:0px; margin0px; font-size:0; border-bottom: 1px solid ##999"></div></td></tr>
            </cfif>
        </cfoutput>
    </cfoutput>
</table>

您使用的是一个
左外部联接
,这意味着您将为每个事件/段拥有一条记录。将这些更改为内部联接,您将获得所需的结果

SELECT tObj.textObjectCount, events.*, venues.venue, venues.location, DATENAME(wk, events.eventDateTime - 1) AS EventWeek, s.segment 
FROM events join segments s on s.segmentID = events.segmentID 
 INNER JOIN (
  SELECT LUTextObjectEvent.eventID, COUNT(*) AS textObjectCount 
  FROM  LUTextObjectEvent 
   INNER JOIN textObjects ON LUTextObjectEvent.textObjectID = textObjects.textObjectID 
   GROUP BY LUTextObjectEvent.eventID
  ) tObj 
  ON events.eventID = tObj.eventID 
 INNER JOIN JOIN venues ON events.venueID = venues.venueID 
WHERE (events.eventID IN (
 SELECT eventID 
 FROM events
 WHERE segmentID IN (
  SELECT segmentID 
  FROM segments 
  WHERE seriesID IN (?)))) 
ORDER BY s.segmentID asc

您的查询没有转储。请编辑您的帖子以包含该查询的sql。如果每周至少有一场比赛,答案可能在于该查询的日期范围。您甚至不希望查询中包含这些行。看起来您使用的是左连接,而不是内部连接(?)。但是如果看不到SQL,就很难提供帮助哦,如果单击查询转储,它会显示更多信息。谁知道呢?很好,我甚至没在手机上看到垃圾。诅咒你的手机浏览器!
SELECT tObj.textObjectCount, events.*, venues.venue, venues.location, DATENAME(wk, events.eventDateTime - 1) AS EventWeek, s.segment 
FROM events join segments s on s.segmentID = events.segmentID 
 INNER JOIN (
  SELECT LUTextObjectEvent.eventID, COUNT(*) AS textObjectCount 
  FROM  LUTextObjectEvent 
   INNER JOIN textObjects ON LUTextObjectEvent.textObjectID = textObjects.textObjectID 
   GROUP BY LUTextObjectEvent.eventID
  ) tObj 
  ON events.eventID = tObj.eventID 
 INNER JOIN JOIN venues ON events.venueID = venues.venueID 
WHERE (events.eventID IN (
 SELECT eventID 
 FROM events
 WHERE segmentID IN (
  SELECT segmentID 
  FROM segments 
  WHERE seriesID IN (?)))) 
ORDER BY s.segmentID asc