Not sure if SQL Server has it, but Oracle has a START WITH CONNECT BY
clause that I've used to display a menu. The table had a parentID and
a childID, childern could be parents of other chlidren, for as far as
you wanted to go.
It looks like you'd have to go the recursive way (from the 2 minutes
of googling I did). So if you don't want to go that route, Do what
Maureen suggested, QoQs are nice.

On Sat, Mar 24, 2012 at 9:02 PM, Maureen <[email protected]> wrote:
>
> I would select the entire table in a query sorted by sort order, then
> loop over that query and do a query of queries to get the children and
> grandchildren for each record.
>
> On Sat, Mar 24, 2012 at 1:56 PM, Eric Bourland <[email protected]> wrote:
>>
>> ColdFusion 9
>> SQL Server 2005
>>
>> Hi friends. Do you have time to consider a problem? I am trying to display a
>> list of Parent and Child pages, with children arranged under their
>> respective parents, thus:
>>
>> Parent
>>    Child
>>    Child
>>    Child
>> Parent
>>    Child
>>    Child
>>    Child
>>        Grandchild
>>        Grandchild
>>
>> ...etc. There will be no more than three levels of pages: Parent, child,
>> grandchild.
>>
>> If possible, I would rather not get into CTE recursion, And it would be very
>> onerous and forbidding to change my existing data tables. Instead, I am
>> wondering, is there simply a way to do this in ColdFusion, using a query and
>> some JOINs, and the correct cfoutput? Here is what I have so far:
>>
>> <!--- get table columns for parent, child, grandchild records--->
>> <cfquery name="getPages" datasource="#APPLICATION.dataSource#">
>> SELECT p.PageID
>>      ,p.PageTitle
>>      ,p.DateCreated
>>      ,p.DateModified
>>      ,p.SortOrder
>>      ,c.PageID
>>      ,c.PageTitle
>>      ,c.DateCreated
>>      ,c.DateModified
>>      ,c.SortOrder
>>      ,c2.PageID
>>      ,c2.PageTitle
>>      ,c2.DateCreated
>>      ,c2.DateModified
>>      ,c2.SortOrder
>>      ,p.parentID
>>      ,c.parentID
>>      ,c2.parentID
>>
>> FROM #REQUEST.contentTable# p
>> left join #REQUEST.contentTable# c on c.parentID = p.pageID
>> left join #REQUEST.contentTable# c2 on c2.parentID = c.PageID
>> ORDER BY p.SortOrder, p.PageTitle, c.SortOrder, c.PageTitle, c2.SortOrder,
>> c2.PageTitle
>> </cfquery>
>>
>>
>> And the output:
>>  <!--- display record information --->
>>  <cfoutput query="getPages" group="PageTitle">
>>  <tr>
>>   <td>#getPages.PageID#</td>
>>   <td>#getPages.PageTitle#</td>
>>   <td>#DateFormat(getPages.DateCreated, "mmmm d, yyyy")#</td>
>>   <td>#DateFormat(getPages.DateModified, "mmmm d, yyyy")#</td>
>>   <td>#getPages.SortOrder#</td>
>>  </tr>
>>  </cfoutput>
>>
>>  But, that gets me just a list of the pages, sorted in no particular order:
>>  http://www.hardrockteam.org/managepages2.cfm
>>
>>  Does anyone have any ideas to sort these pages as I noted above?
>>
>>  Thank you for any advice.
>>
>>  Eric
>>
>>
>>
>>
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:350524
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to