<cfquery name="dbtree">
select ID, NAME, PARENT_ID, Max(ID) as MAXID
from wherever
</cfquery>
<cfset tree = ArrayNew(1)>
<cfset ArraySet(tree, 1, dbtree.MAXID, "")>
<cfloop query="dbtree">
tree[dbtree.ID] = StructNew();
tree[dbtree.ID].ID = dbtree.ID;
tree[dbtree.ID].NAME = dbtree.NAME;
tree[dbtree.ID].PARENT = dbtree.PARENT_ID;
</cfloop>
<cfloop index="itr" from="1" to="#dbtree.RecordCount#">
<cfif IsStruct(tree[itr])>
tree[itr].PARENT = tree[tree[itr].PARENT];
</cfif>
</cfloop>
<cfdump var="#tree#">
Matt Liotta
President & CEO
Montara Software, Inc.
http://www.montarasoftware.com/
V: 415-577-8070
F: 415-341-8906
P: [EMAIL PROTECTED]
> -----Original Message-----
> From: chris.alvarado [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, July 16, 2002 8:37 AM
> To: CF-Talk
> Subject: Recursive queries
>
> Still trying to decide how I like to perform some type of recursive
> query wth the following Table structure;
>
> ID NAME PARENT_ID
>
> If the current record IS the parent then the Parent ID is 0
>
> Otherwise the child has the ID of the parent as it's Parent ID.
>
>
> Anyone have any good references on recursive queries to handle this? A
> way to spider down through the parents and children basically.
>
> Ive done this before using Stored Procs and temp tables, but there has
> to be an easier way.
>
> Any suggestions?
>
>
> -chris.alvarado
> [ application developer ]
> 4 Guys Interactive, Inc.
> http://www.4guys.com
>
> -- I can picture in my mind a world without war, a world without hate.
> And I can picture us attacking that world, because they'd never expect
> it. -- Jack Handy
>
>
>
______________________________________________________________________
This list and all House of Fusion resources hosted by CFHosting.com. The place for
dependable ColdFusion Hosting.
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