Da quello che hai mostrato, suppongo che tu abbia 4 tabelle con una relazione da uno a molti tra Project and Phase
, Phase and Folder
e Folder and Document
.
La tua istruzione SQL quindi potrebbe essere semplice come unirli tutti insieme
SELECT *
FROM Projects p
INNER JOIN Phases ph ON ph.ProjectID = p.ProjectID
INNER JOIN Folders f ON f.PhaseID = ph.PhaseID
INNER JOIN Documents d ON d.FolderID = f.FolderID
Non vedo davvero la necessità di renderlo più difficile del necessario inserendo CTE