我一直在嘗試不同的方法來處理這個問題,但我沒有多少運氣。有選擇的條件計數/總和
基本上這個查詢返回一個員工所建立的所有目錄。我需要添加一個字段到這個查詢的選擇中,該字段列出了有多少個具有'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