【发布时间】:2013-03-05 08:43:43
【问题描述】:
我的数据库中有这个层次结构(从最低到最高):
用户 => 部门 => 区域 => 公司
现在我需要制作一个显示所有公司的表格(有关它们的一些信息直接取自公司表格),但我希望 HTML 表格中的最后一列是用户数。我知道我需要将这些表连接在一起,也许还需要将表连接到自身,但是我该怎么做呢?
这些表中的每一个都有一个链接到其父表的列(Company ofc 除外)。
【问题讨论】:
我的数据库中有这个层次结构(从最低到最高):
用户 => 部门 => 区域 => 公司
现在我需要制作一个显示所有公司的表格(有关它们的一些信息直接取自公司表格),但我希望 HTML 表格中的最后一列是用户数。我知道我需要将这些表连接在一起,也许还需要将表连接到自身,但是我该怎么做呢?
这些表中的每一个都有一个链接到其父表的列(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 和 IFNULL 将为您提供在其他表中没有匹配行的公司;在这种情况下计数为零
【讨论】: