首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ColdFusion cfoutput输出查询组

ColdFusion cfoutput输出查询组
EN

Stack Overflow用户
提问于 2013-02-17 19:18:09
回答 1查看 2.5K关注 0票数 1

请参考本页:其中包含http://allblacks.01dev.co.nz/templates/super14/textobjects/SRMatchDayList.cfm查询转储。我继承了这段代码,如果可能的话,我更愿意使用它。

下面的代码按周输出fixture。

代码语言:javascript
复制
<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>

但是,请注意上述URL中的第3- 18周,其中没有任何数据。如果没有数据,我不想显示周线。如果可能,我如何使用此查询输出"group=“设置来完成此操作?

来自网站的SQL

代码语言:javascript
复制
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 
 LEFT OUTER 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 
 LEFT OUTER 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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-17 23:45:06

您使用的是LEFT OUTER JOIN,这意味着每个事件/片段都有一条记录。将这些更改为内部连接,您应该会得到所需的结果

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14920506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档