我正在尝试创建一个查询,该计数将计算我使用的不同医疗专业的数量。
然而,当我添加where specialism=
时,它没有显示没有条目的专业。
以下是我使用的查询:
SELECT Specialisme,
count(Registratie.Specialisme+IIf(IsNull(Specialisme),0,Specialisme)) AS Aantal
FROM Registratie
WHERE (((Registratie.Opleidingsjaar)=1))
AND ((Specialisme='KNO')
OR (Specialisme='Mondheelkunde')
OR (Specialisme='Oogheelkunde')
OR (Specialisme='Neurochirurgie'))
GROUP BY Specialisme;
但是,我没有neurochirurgie
或mondheelkunde
的条目,因此它不会将这些条目显示为一行,我无法将其显示为神经色素0&#39 ;
我尝试将Registratie
中的计数查询与 select specialism query 结合在一起,我已经定义了所有不同的专业(他们确实有一个条目),但后来我得到了各种不同的错误信息
有人有建议吗?
答案 0 :(得分:0)
我认为你的解决方案是正确的。这是我尝试过的,它起作用了:
CREATE TABLE test (Specialisme VARCHAR2(20 CHAR));
INSERT INTO test VALUES ('KNO'), ('KNO'), ('Mondheelkunde'), ('Oogheelkunde');
CREATE TABLE all_possible_values (Specialisme VARCHAR2(20 CHAR));
INSERT INTO all_possible_values VALUES ('KNO'), ('Mondheelkunde'), ('Oogheelkunde'), ('Neurochirurgie');
SELECT y.Specialisme, COUNT(x.Specialisme)
FROM test x
RIGHT OUTER JOIN all_possible_values y ON x.Specialisme = y.Specialisme
GROUP BY Specialisme;