我正在研究的一个查询显示了一个相当有趣的行为,到目前为止我无法进行调试。 这是在它出错之前的查询:
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仅限制为打开/关闭="打开"的记录时,会出现错误。
我尝试使用WHERE
和HAVING
都没有用。该查询将导致0条记录,这不是我想要看到的。
我想也许是因为"打开"是一个保留的术语,但即使将其更改为" D_open"在源表中没有解决问题。
还尝试在后续查询中过滤所需记录
SELECT *
FROM QryCount
WHERE [Open/Close] ="D_Open"
但没有,仍然找到了0条记录。
我怀疑它可能与某些COUNT功能的固有特性有关但不确定。任何帮助将不胜感激。
答案 0 :(得分:0)
所有参与者,感谢您并向您提供不充分/混淆信息的道歉。我认为这个问题可以更好地起草。
无论如何,我发现问题显然是由打开/关闭字段名称中的“/”引起的。只要我从原始映射表中的字段名称中删除它,查询就会按预期执行。