我一直在尝试不同的方法来处理这个问题,但我没有多少运气。有选择的条件计数/总和
基本上这个查询返回一个员工所建立的所有目录。我需要添加一个字段到这个查询的选择中,该字段列出了有多少个具有'admin'访问权限(u.access_level)的其他用户被构建到目录中)。
Table: Directories (has many users)
Table: Users (users of the directory with different access levels)
SELECT d.id, d.name, u.employee_number, u.access_level, u.id 'user_id',
(** count of all users of this directory where their u.access_level = 'admin) AS admins
FROM directories d JOIN users u ON d.id = u.directory_id
WHERE u.employee_number = '045283'
ORDER BY d.NAME
所以,我需要返回所有目录雇员内置,包括有每个目录“管理”权限的用户总数的记录。基本上我需要计算一些后来的框架逻辑,比如'如果员工是这个目录的最后一个管理员 - 不允许他们删除他们自己或者更改他们的访问级别 - 先将其他用户升级到管理员级别。
感觉就像我需要一个子查询,但是现在有点超出了我的SQL技能。谢谢你的帮助!
真棒谢谢! - 我只尝试过第二个例子 - 它完美地工作(超过了我目前的技能水平)。一个小类型o在第二行:'AdminDir.AdminAcount'应该是'AdminDir.AdminCount。 – Reno 2011-03-17 17:06:14
@Reno - 很高兴能帮到你。我会解决你提到的错字。 – Thomas 2011-03-17 17:20:35