应用条件后,0会导致MS Access总计查询(w.COUNT)

时间:2017-11-12 19:23:28

标签: sql ms-access ms-access-2013

我正在研究的一个查询显示了一个相当有趣的行为,到目前为止我无法进行调试。 这是在它出错之前的查询:

QryCount

SELECT EmpId, [Open/Close], Count([Open/Close]) AS Occurences, Attribute1, Market, Tier, Attribute2, MtSWeek
FROM qrySource
WHERE (Venue="NewYork") AND (Type="TypeA")
GROUP BY EmpId, [Open/Close], Attribute1, Market, Tier, Attribute2, MtSWeek;

该查询准确地给出了我期望的结果:

#01542 | Open   | 5 | Call | English | Tier1 | Complain | 01/01/2017
#01542 | Closed | 2 | Call | English | Tier2 | ProdInfo | 01/01/2017
#01542 | Open   | 7 | Mail | English | Tier1 | ProdInfo | 08/01/2017
etc...

但实际上,这样做可以提供比后续步骤更多的记录,从而创建笛卡尔。

qrySource。[打开/关闭]是一个字符串类型字段,包含可能的属性(您猜到)"打开","关闭"并且它实际上是由qrySource创建阶段的映射表提供的(不确定,但这可能有帮助)。

现在,当我尝试将qryCount仅限制为打开/关闭="打开"的记录时,会出现错误。 我尝试使用WHEREHAVING都没有用。该查询将导致0条记录,这不是我想要看到的。 我想也许是因为"打开"是一个保留的术语,但即使将其更改为" D_open"在源表中没有解决问题。 还尝试在后续查询中过滤所需记录

SELECT *
FROM QryCount
WHERE [Open/Close] ="D_Open"

但没有,仍然找到了0条记录。

我怀疑它可能与某些COUNT功能的固有特性有关但不确定。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

所有参与者,感谢您并向您提供不充分/混淆信息的道歉。我认为这个问题可以更好地起草。

无论如何,我发现问题显然是由打开/关闭字段名称中的“/”引起的。只要我从原始映射表中的字段名称中删除它,查询就会按预期执行。