将select与来自两个不同表的count相结合

时间:2018-02-16 13:48:08

标签: sql count null access

我正在尝试创建一个查询,该计数将计算我使用的不同医疗专业的数量。

然而,当我添加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;

但是,我没有neurochirurgiemondheelkunde的条目,因此它不会将这些条目显示为一行,我无法将其显示为神经色素0&#39 ;

我尝试将Registratie 中的计数查询与 select specialism query 结合在一起,我已经定义了所有不同的专业(他们确实有一个条目),但后来我得到了各种不同的错误信息

有人有建议吗?

1 个答案:

答案 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;