Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Root-Elternteil bekommen

Hier ist eine kurze Abfrage, die das tut, was Sie fragen, vorausgesetzt, Ihre Tabelle heißt foo und dass Sie den Stamm von <id> wissen möchten :

SELECT f.id, f.title
FROM (
    SELECT @id AS _id, (SELECT @id := parent_id FROM foo WHERE id = _id)
    FROM (SELECT @id := <id>) tmp1
    JOIN foo ON @id IS NOT NULL
    ) tmp2
JOIN foo f ON tmp2._id = f.id
WHERE f.parent_id IS NULL