9: WITH RECURSIVE
WITH RECURSIVE tree (id, parent, internal_name, level, path) AS ( SELECT s.id, s2s.parent, s.internal_name, 0 ,s.internal_name FROM source s LEFT JOIN source_to_source s2s ON s.id = s2s.child WHERE s.id = 1244638 UNION SELECT s2s.child, s2s.parent, s.internal_name, level +1, path || '/' || s.internal_name FROM source_to_source s2s JOIN source s ON s.id = s2s.child JOIN tree ON s2s.parent = tree.id ) SELECT * FROM tree order by path