Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Consulta SQL para obter o caminho completo da hierarquia de diferentes tabelas


Pelo que você mostrou, suponho que você tenha 4 tabelas com uma relação de um para muitos entre Project and Phase , Phase and Folder e Folder and Document .

Sua instrução SQL pode ser tão simples quanto juntá-los todos juntos
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

Eu realmente não vejo a necessidade de tornar isso mais difícil do que o necessário, jogando CTEs