使用针对一个表的多个子查询来访问SQL计数结果

时间:2015-04-28 19:14:39

标签: sql ms-access

我正在使用具有超过200k行数据的表的Access。我正在寻找按职务说明细分的专栏。例如,我想返回一个人的状态=“活跃”的位置的总计数(id)和像“ cook ”这样的位置[应该等于20]也是我得到的另一个输出count(id)表示某人处于status =“active”且position =“Lead Cook”[应该等于5]的同一位置。所以,一个是总人口的一部分。

我还有其他一些事情要这样做(#Bakers,#Lead Bakers ......)。如何使用一个大查询/子查询或每个分组的一个查询来执行此操作。

我的尝试更像是这样:

preserveAspectRatio

1 个答案:

答案 0 :(得分:1)

尝试使用条件聚合 - 不需要子查询。

这样的事情应该有效(尽管我可能完全不了解你想要的结果):

select location, 
    count(EMPLOYEE_NUMBER) as CookTotal,
    sum(IIf(POSITION Like "*cook*",1,0)) as AllCooks,
    sum(IIf(POSITION = "Lead Cook",1,0)) as LeadCooks
from Table_abc 
where STATUS="Active Assignment"
group by location