我的数据库中有这个层次结构(从最低到最高):
用户 => 部门 => 区域 => 公司
现在我需要制作一个显示所有公司的表格(有关它们的一些信息直接从公司表格中获取),但我希望 HTML 表格中的最后一列是Number of users。我知道我需要将表格连接在一起,并且可能将表格连接到自身,但是我该怎么做呢?
这些表中的每一个都有一个链接到其父表的列(Company ofc 除外)。
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 JOIN
withIFNULL
将为您提供那些在其他表中没有匹配行的公司;在这种情况下计数为零