我有一个数据库,其表格看起来像这样:
[ID],[提交日期],[打开/关闭],[调查员姓名]
我想要一个查询,它为每个调查员提供了打开和关闭案例的数量。我试图使用这个查询:
SELECT [调查员姓名],计数(*)AS总计
来自[主表]
[日期归档]在“start_date”和“end_date”之间以及[打开/关闭] = - 1之间
GROUP BY [调查员姓名];
但我收到一条错误消息:“条件中的数据类型不匹配”。我认为这是因为“调查员名称”列中的空值,我尝试使用Nz,但是查询不会将列名视为按表达式分组。我试过在这里玩,但没有任何效果。
PS:我只编写了开放值的查询,如果有办法获得开放值和闭合值,那就太棒了。
答案 0 :(得分:1)
如果您想要[结束日期]和[start_date],您应该写
PARAMETERS [end_date] DateTime, [start_date] DateTime;
SELECT [Investigator Name], Count(*) AS Total
FROM [main table]
WHERE [Date Filed] Between [start_date] And [end_date] and [Open/Closed]=-1
GROUP BY [Investigator Name];
答案 1 :(得分:1)
如果您希望将其作为参数查询(并提示输入start_date
和end_date
值),则参数也需要括在方括号中。以下是Access中的查询构建器放在一起的SQL代码:
PARAMETERS start_date DateTime, end_date DateTime;
SELECT [main table].[Investigator Name], Count([main table].ID) AS Total
FROM [main table]
WHERE ((([main table].[Date Filed]) Between [start_date] And [end_date]) AND (([main table].[Open/Closed])=True))
GROUP BY [main table].[Investigator Name];