2013-09-27 74 views
2

我如何從衆多的一對多關係中選擇所有的東西,在許多一對多的關係中關閉幾層?我不知道如何嵌套所有這些左連接。MYSQL通過一對多關係的多層查詢

There are many Institutions 
Each Institution has many Departments 
Each Department has many Forums 
Each Forum has many Users 
Each User has many Posts 
Each Post has many Comments 

找到一個機構的所有評論。

我google了一下,但我不知道這是什麼名字 - 鏈嵌套一對多的關係查詢?我發現的最接近是SQL left join vs multiple tables on FROM line?

回答

3

不知道您的架構,使一些假設:

SELECT c.* 
FROM 
    Institution i 
    INNER JOIN Department d ON d.InstitutionID = i.InstitutionID 
    INNER JOIN Forums f ON f.DepartmentID = d.DepartmentID 
    INNER JOIN `User` u ON u.ForumID = f.ForumID 
    INNER JOIN Post p ON p.UserID = u.UserID 
    INNER JOIN Comment c ON c.PostID = p.PostID 
WHERE 
    i.InstitutionID = 42