Using MySQL, I want to return a list of parents, from a table that has a field structure like this. ID,PARENTID,NAME (a standard parent-child hierarchy). I would like to traverse "up" the tree to return a list of ALL 'parents'.
I realize that "nested set", might be a better way to handle this - but currently I cannot change the structure of the data. I will look to do that in the future. Currently - my set of data will realistically contain a few levels of depth - nothing crazy... maybe 2-5 so my recursive hit shouldn't be 'too expensive'.
I've looked at the solutions presented in SQL Server get parent list - but this syntax bombs in mySQL...
Does anyone have an example of how to do this?
@kevin - thx for link - but I still get error. ("every derived table must have it's own alias")
Here's what I did (modified syntax form above article - to 'fit' MySQL) - I clearly missed something...
SELECT parents.*
FROM  (
    SELECT taskID,  task,  parentID,  0 as level
    FROM   tasks
    WHERE taskidID = 9147
    UNION ALL
    SELECT  taskID, task,  parentID,  Level + 1 
    FROM   tasks
    WHERE  taskID = (SELECT parentID FROM parents ORDER BY level DESC LIMIT 1)
    )
thoughts???
EXAMPLE:
ID      PARENTID    NAME
9146    0       thing1
9147    0       thing2
9148    9146        thing3
9149    9148        thing4
9150    0       thing5
9151    9149        thing6
Query for parents of "thing3" Returns "9148,9146"
Query for parents of "thing6" Returns "9149,9148,9146,0"
 
     
     
     
    