2013-03-05 87 views
1

我有這個層次在我的數據庫(從低到高):COUNT加入

用戶=>部門=>區=>公司

現在我需要做一個表,其中顯示所有公司(有關它們的一些信息直接從公司表中獲取),但是我希望成爲HTML表格中最後一列用戶數量。我知道我需要將桌子連接在一起,也許會將桌子連接到桌子上,但我該怎麼做?

這些表中的每一個都有一個鏈接到其父表的列(公司ofc)除外。

回答

1

JOIN表:

SELECT 
    c.companyId, 
    c.CompanyName, 
    IFNULL(COUNT(u.userID), 0) AS 'Number Of Users' 
FROM Company AS c 
LEFT JOIN Area AS a ON c.CompanyID = a.CompanyID 
LEFT JOIN Dept AS d ON a.DeptId = d.DeptId 
LEFT JOIN users AS u ON D.UserId = u.UserId 
GROUP BY c.companyId, 
     c.CompanyName; 

需要注意的是:LEFT JOINIFNULL會給你有其他的表中沒有匹配的行這些公司;在這種情況下計數爲零

+0

謝謝,它的工作!這麼多加入讓我感到困惑:D – silkfire 2013-03-05 08:56:40

+0

@silkfire - 隨時歡迎您:)很高興我可以幫助:) – 2013-03-05 11:36:00