问题描述
我正在尝试为非技术同事设计一些查询,以自动以他们所需的格式自动检索有关注册的一组数据。
当前我使用简单的
SELECT Faculty,COUNT(*)
FROM Registrations
GROUP BY Faculty
其结果是学院列表和当前注册。
问题是它不会列出任何具有0个注册的教员。
此外,结果的顺序对于实施应该是唯一的。
为此,我尝试使用
ORDER BY CASE
WHEN Faculty = [faculty 1] then 0
WHEN Faculty = [faculty 2] then 1
...
WHEN Faculty = [faculty n] then n-1
但是,当某些系没有任何注册时,此实现似乎与预期不符。
我怀疑外部自我连接可能有助于检索0值,这可能解决了ORDER BY CASE问题。
解决方法
您需要教师名单。让我假设您有一个单独的表:
SELECT f.Faculty,COUNT(r.Faculty)
FROM Faculty f LEFT JOIN
Registrations r
ON f.Faculty = r.Faculty
GROUP BY f.Faculty;