How would I write recursive sql?
I have a DB table (category) which contains three columns (name, id, and parentId). If I had the following three records.
I would like to write some sql that could print out the following.
I have no idea how to do this... could someone lend a helping hand?
thanks... if this isnt the right forum could you point me in the right direction.
Welcome to WebmasterWorld jpmirick! Since no one jumped right in with an answer and I haven't a clue, I did a search for an SQL forum. Ironiclly, I found a thread at tek-tips with your question answered at [tek-tips.com...] but don't be a stranger! ;)
Yeah I saw that too... dont think it really answered the question since the answer given really only accounts for something that would go three levels deep.
If I had the following records:
it wouldnt work with the solution given.
I was really looking for a recursive solution.
hehe.. you might find the same question a few places, I have been searching all day for the answer (well actually I was hoping someone else would figure it out).
This is a limitation of SQL. There is no way in standard SQL to do a complete parts breakdown that would recurse infinitely deep. There are some extensions to SQL that would do it, but it depends on your database engine on whether it supports those extensions.
You can write SQL that would work against a given depth, but not an arbitrary depth.
Relational purists don't like SQL for the reason that it can't do this sort of breakdown.