SELECT c.id, b.id, a.id
FROM T
INNER JOIN T AS c on T.parent_id=c.id
INNER JOIN T AS b ON c.parent_id = b.id
INNER JOIN T as a ON b.parent_id = a.id
ако приемем, че вашата таблица е на име T. не е тествана все пак. не съм сигурен какво ще се случи, ако d няма трима родители, вероятно няма да получите нещо, може да опитате LEFT JOIN за тези случаи, за да получите NULL стойности за страхотните родители. Освен това последното JOIN не е наистина необходимо, защото можете просто да изберете b.parent_id вместо a.id, но, знаете ли, само за да задвижите шаблона;)