Từ những gì bạn đã trình bày, tôi giả sử bạn có 4 bảng với mối quan hệ từ một đến nhiều giữa Project and Phase
, Phase and Folder
và Folder and Document
.
Sau đó, câu lệnh SQL của bạn có thể đơn giản như kết hợp tất cả chúng lại với nhau
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
Tôi thực sự không thấy cần phải làm cho nó khó hơn cần thiết bằng cách ném vào CTE's