我遇到了SQL語句正確打開記錄集的問題。我收到一個語法錯誤,說我錯過了一個操作符。這發生在我在CASE語句中添加以試圖獲得大於零的數字的平均值之後。下面是我建立訪問VBA SQL語法錯誤(丟失操作符)
SELECT AVG (([t1].[MET_Value]/147000) * [t1].[LMP]) AS RW,
COUNT ([t1].[MetTime]) AS METcnt,
AVG ([t1].[MET_Value]/147000) AS AvgCF,
AVG(CASE WHEN [t1].[LMP] > 0 THEN ([t1].[MET_Value]/147000) * [t1].[LMP] ELSE NULL END) AS Floor0Avg
FROM
(SELECT [Data].[Local_Datetime],
[Data].[Node_ID],
[Data].[LMP],
[Data].[5810] AS MET_Value,
[MetData].[Local_Datetime] AS MetTime
FROM [Data] INNER JOIN
[MetData] ON [Data].[Local_Datetime] LIKE [MetData].[Local_Datetime]
WHERE [Node_ID] = 746200 AND [LMP] <> -999999 AND [Data].[Local_Datetime] BETWEEN #9/2/2015# AND #9/1/2016#)
as t1 GROUP BY Node_ID;
這工作的SQL字符串,如果我拿出AVG(CASE WHEN ..),但我似乎無法得到它與它,所以我假定這是工作的地方問題是。
我一直試圖讓這個工作,但無法找到什麼是錯的。如果您看到我的錯誤,請告訴我。
'Case'在MS Access中不可用。你需要使用'Switch' –