> But, that gets me just a list of the pages, sorted in no particular order:
It may be doable with a grouped output. First, restrict the the results to the top level. Then order the results by the sort number: parent, child then grandchild. SELECT p.PageID AS PageIDLevel1 ,p.PageTitle AS PageTitleLevel1 ,p.SortOrder AS SortOrderLevel1 ,p.ParentID AS ParentIDLevel1 ,c.PageID AS PageIDLevel2 ,c.PageTitle AS PageTitleLevel2 ,c.SortOrder AS SortOrderLevel2 ,c.parentID AS ParentIDLevel2 ,gc.PageID AS PageIDLevel3 ,gc.PageTitle AS PageTitleLevel3 ,gc.SortOrder AS SortrderLevel3 ,gc.parentID AS ParentIDLevel3 FROM theTable p LEFT JOIN theTable c ON c.parentID = p.pageID LEFT JOIN theTable gc ON gc.parentID = c.PageID WHERE ISNULL(p.parentID, 0) = 0 ORDER BY p.SortOrder, c.SortOrder, gc.SortOrder Finally use a grouped output on the parent and child sort numbers. <cfoutput query="theQuery" group="SortOrderLevel1"> #PageTitleLevel1#<br> <cfoutput group="SortOrderLevel2"> <cfif len(pageTitleLevel2)> ---#PageTitleLevel2#<br> </c ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| 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:350528 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

