Just a good night sleep is all I needed...

<cfquery name="tree" datasource="#EAIDataSource#">
 select  CT2.Content_ID, CT2.Content_ID AS a_ID, CT2.Content_Name_en,
    Count(CT2.startbranch) as lvl, CT2.startbranch, CT2.endbranch
 from  Content_Tree AS CT1, Content_Tree AS CT2, Content_Tree AS CT3
 where  CT1.Content_ID = #child2root.Content_ID#
    AND CT2.startbranch BETWEEN CT1.startbranch AND CT1.endbranch
    AND CT2.startbranch BETWEEN CT3.startbranch AND CT3.endbranch
    AND CT3.startbranch BETWEEN CT1.startbranch AND CT1.endbranch
 group by CT2.startbranch, CT2.Content_ID, CT2.Content_Name_en,
CT2.endbranch
 order by CT2.startbranch
</cfquery>


will
----

William H. Bowen
Webmaster

ALSTOM's T&D Energy Automation & Information Business

"Your friendly neighborhood Webmaster!"

[EMAIL PROTECTED]
http://www.esca.com/

425.739.3629 Voice
425.466.7016 Cell
425.739.3690 FAX
----- Original Message -----
From: "William H. Bowen" <[EMAIL PROTECTED]>
To: "CF-Talk" <[EMAIL PROTECTED]>
Sent: Wednesday, July 24, 2002 6:19 PM
Subject: Nested Set question


> Hello all,
> I have the following query (after much searching and reading of Joe Celko
> and secretagents.com :-)
>
> <!--- Builds the whole tree --->
> <cfquery name="tree" datasource="#EAIDataSource#">
>  select  Child.Content_ID, Child.Content_ID AS a_ID,
Child.Content_Name_en,
>     Count(Child.startbranch) AS lvl,
>     Child.startbranch, Child.endbranch
>  from  Content_Tree AS Parent, Content_Tree AS Child
>  where  (Child.startbranch BETWEEN Parent.startbranch AND
Parent.endbranch)
>  group by Child.startbranch, Child.Content_ID, Child.Content_Name_en,
> Child.endbranch
> </cfquery>
>
> Followed by this code:
>
> <table cellpadding="0" cellspacing="0" style="width:196px;" align="center"
> border="0">
> <cfoutput query="tree" group="Content_ID">
>    <cfset maxLvl = ArrayMax(ListToArray(ValueList(tree.lvl)))>
>    <tr>
>    <cfif lvl gt 1>
>        #repeatstring('<td valign="top"
> style="width:10px;">&nbsp;</td>',val(lvl - 2))#
>        <td valign="top" style="width:10px;"><img
> src="images/general/flech.gif" width="10" height="10"></td>
>    </cfif>
>    <td class="tdp" valign="top" colspan="<cfif lvl eq
> 1>#val(maxLvl)#<cfelse>#val(maxLvl - (lvl - 1))#</cfif>">
>       <a href="index.cfm?Content_ID=#Content_ID#">
>       <cfif lvl eq 1><b></cfif>#highlight(Content_Name_en)#<cfif lvl eq
> 1></b></cfif></a>
>    </td>
> </tr>
> </cfoutput>
> </table>
>
> Which outputs like this:
>
> Header (bold)
>    > sub
> Header (bold)
>    > sub
>       >subsub
>           >subsubsub
>           >subsubsub
>       >subsub
>    >sub
>       >subsub
> ..
> and so on. Now so far this is working exactly as planned, but I need to
> break up the listing into sub-groups on the Headers based on the selection
> on a top menu bar.
>
> so i appended the query thusly (based on Celko's recommendation in Chapter
> 29 of SQL for Smarties):
>
> <!--- Builds the sub tree --->
> <cfquery name="subtree" datasource="#EAIDataSource#">
>  select  Child.Content_ID, Child.Content_ID AS a_ID,
Child.Content_Name_en,
>     Count(Child.startbranch) AS lvl,
>     Child.startbranch, Child.endbranch
>  from  Content_Tree AS Parent, Content_Tree AS Child
>  where  (Child.startbranch BETWEEN Parent.startbranch AND
Parent.endbranch)
>             AND Parent.Content_ID = #root.Content_ID#
>  group by Child.startbranch, Child.Content_ID, Child.Content_Name_en,
> Child.endbranch
> </cfquery>
>
> Which should do this:
>
> sub (bold)
> sub (bold)
>    >subsub
>        >subsubsub
>        >subsubsub
>    >subsub
> sub (bold)
>    >subsub
>
> But does this
>
> sub (bold)
> sub (bold)
> subsub (bold)
> subsubsub (bold)
> subsubsub (bold)
> subsub (bold)
> sub (bold)
> subsub (bold)
>
> My question is why? and what can I do to make it work? what am I missing?
>
> will
> ----
>
> William H. Bowen
> Webmaster
>
> ALSTOM's T&D Energy Automation & Information Business
>
> "Your friendly neighborhood Webmaster!"
>
> [EMAIL PROTECTED]
> http://www.esca.com/
>
> 425.739.3629 Voice
> 425.466.7016 Cell
> 425.739.3690 FAX
>
> 
______________________________________________________________________
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to