1

我的数据库中有这个层次结构(从最低到最高):

用户 => 部门 => 区域 => 公司

现在我需要制作一个显示所有公司的表格(有关它们的一些信息直接从公司表格中获取),但我希望 HTML 表格中的最后一列是Number of users。我知道我需要将表格连接在一起,并且可能将表格连接到自身,但是我该怎么做呢?

这些表中的每一个都有一个链接到其父表的列(Company ofc 除外)。

4

1 回答 1

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 JOIN withIFNULL将为您提供那些在其他表中没有匹配行的公司;在这种情况下计数为零

于 2013-03-05T08:47:28.977 回答