2013-03-05 86 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