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
förutsatt att ditt bord heter T. oprövat dock. inte säker på vad som händer om d inte har tre föräldrar, förmodligen förstår du ingenting, kan försöka med LEFT JOIN för de fallen för att få NULL-värden för de fantastiska föräldrarna. Den sista JOIN är inte riktigt nödvändig eftersom du helt enkelt kan välja b.parent_id istället för a.id men, du vet, bara för att köra hem mönstret;)