1

我有一个带有如下表的数据库:

[ID]、[提交日期]、[打开/关闭]、[研究者姓名]

我想要一个查询,为我提供每个调查员的未结案件和已结案的数量。我试图使用这个查询:

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];

但我收到一条错误消息:“标准中的数据类型不匹配”。我在想这是因为“调查员姓名”列中的空值,我尝试使用 Nz,但随后查询不认为列名在按表达式分组中。我试过在这里玩,但没有任何效果。

PS:我只写了开放值的查询,如果有办法同时获得开放值和封闭值,那就太棒了。

4

2 回答 2

1

如果你想被问到 [end_date] 和 [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]; 
于 2013-10-22T07:05:02.680 回答
1

如果您希望这是一个参数查询(并被提示输入start_dateend_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];
于 2013-10-22T07:05:43.233 回答