Mysql 类别和子类别的分组和输出

Mysql 类别和子类别的分组和输出,mysql,coldfusion,Mysql,Coldfusion,我正在开发一个相当基本的菜单系统,其中所有类别都保存在一个表中,子类别标记在“issubcategoryof”字段中。在输出级别,具有子类别的类别没有“链接”字段的值单击类别名称会触发子类别视图,但所有子类别都有链接值,当然,没有子类别的类别也有链接值。为免生疑问,子类别仅为1级,因此类别>子类别 查询和输出的工作原理是,它正确地显示了类别和子类别名称,但由于某种原因,没有为子类别传递“链接”值。我的意思是,当输出时,子标题旁边的链接是空的,但是应该有一个值 这是我目前的查询和输出 <cf

我正在开发一个相当基本的菜单系统,其中所有类别都保存在一个表中,子类别标记在“issubcategoryof”字段中。在输出级别,具有子类别的类别没有“链接”字段的值单击类别名称会触发子类别视图,但所有子类别都有链接值,当然,没有子类别的类别也有链接值。为免生疑问,子类别仅为1级,因此类别>子类别

查询和输出的工作原理是,它正确地显示了类别和子类别名称,但由于某种原因,没有为子类别传递“链接”值。我的意思是,当输出时,子标题旁边的链接是空的,但是应该有一个值

这是我目前的查询和输出

<cfquery name="getnav">
SELECT p.navID AS PrimaryID, p.catheader, p.navsort, p.link, c.navID AS SubCategoryID, c.subcatheader, c.link
FROM  sitenav p 
LEFT JOIN sitenav c ON p.navID = c.IsSubcatOf 
WHERE  p.isSubcatOf = 0
ORDER BY p.navsort ASC
</cfquery>

<cfoutput query="getnav" group="catheader">
    <div class="sidebar-menu">
       <cfif link NEQ ''>
          <a href="#link#">#catheader#</a>
       <cfelse>
          #catheader#
       </cfif>
       <div class="expand"></div>
    </div>
    <cfif link EQ ''> 
        <div class="sub-menu">
        <ul>
            <cfoutput>
               <li><a href="#link#">#subcatheader#</a></li>
            </cfoutput>
        </ul>
        </div>
    </cfif>
</cfoutput>

我已经盯着这个看了一段时间,似乎我错过了一些非常明显的东西,但它暗示了我此刻!欢迎指点

我会在评论中这样做,但我没有足够的代表分数。无论如何,您有两个链接字段,p和c各一个。也许您需要为它们指定不同的名称?

链接值未被传递是什么意思?如果不按catheader排序,这应该根本不起作用。从本质上说,在输出时,subcatheader旁边的链接是空的-但应该有一个值。与其让我们猜测,不如看到原始查询数据的转储,即getnav。不知道这是否是问题,但这是一个很好的观察:+1就是这样!我将查询改为“c.link AS sublink”,现在它可以正常工作了。谢谢我的投票使你的声誉超过100。你欠我一杯啤酒。丹,如果你去过夏威夷的话!