enter code here
我正在设计视图中构建一个聚合查询。如果我平均原始数据,一切正常。一旦我尝试平均 log([data]) 我得到一个错误:“标准表达式中的数据类型不匹配”
我没有在查询中使用任何 WHERE 或 HAVING 子句,所以我不确定它为什么会抱怨“标准表达式”。在任何情况下,所有数据(原始和记录的)都是“双”类型的,所以我不确定类型不匹配发生在哪里。
我什至打破了这两个步骤并设置了一个只计算日志的查询,第二个(基于第一个)进行聚合,但它抛出了同样的错误。
有人会有一些见解吗?非常感谢!
PS:我什至检查了原始数据的最小值和最大值;它们都 > 0.0,因此也不会发生零或负数的对数。
编码:
这工作得很好:
SELECT Tbl_00__simRecord.simID, Avg(Tbl_01__obsFlows.[obsFlow_m3/s]) AS [meanObsFlow],
Min(Tbl_01__obsFlows.[obsFlow_m3/s]) AS [MinOfobsFlow_m3/s],
Max(Tbl_01__obsFlows.[obsFlow_m3/s]) AS [MaxOfobsFlow_m3/s]
FROM Tbl_00__simRecord, Tbl_01__obsFlows
GROUP BY Tbl_00__simRecord.simID;
然而,这失败了:
SELECT Tbl_00__simRecord.simID, Avg(Tbl_01__obsFlows.[obsFlow_m3/s]) AS [meanObsFlow],
Min(Tbl_01__obsFlows.[obsFlow_m3/s]) AS [MinOfobsFlow_m3/s],
Max(Tbl_01__obsFlows.[obsFlow_m3/s]) AS [MaxOfobsFlow_m3/s],
Avg(Log(Tbl_01__obsFlows.[obsFlow_m3/s])) AS [meanLogObsFlow]
FROM Tbl_00__simRecord, Tbl_01__obsFlows
GROUP BY Tbl_00__simRecord.simID;