运行时收到错误消息。你知道为什么吗?我使用Access设计视图构建了它。
SELECT [Sales structure].Cluster ,
[Sales structure].Country ,
[Transaction details].[Sales company code] ,
[Sales structure].[Sales company name] ,
YEAR([Transaction details].[YYYY-MM-DD]) AS [Year] ,
MONTH([Transaction details].[YYYY-MM-DD]) AS [Month] ,
SUM([Transaction details].[Sales volume LOC]) AS Total ,
[Transaction details].[Currency code] ,
Currencies.[CUR/EUR] AS [Currency rate]
FROM Items ,
Currencies
RIGHT JOIN ( [Sales structure]
RIGHT JOIN [Transaction details] ON [Sales structure].[Sales company code] = [Transaction details].[Sales company code]
) ON Currencies.[Currency code] = [Transaction details].[Currency code]
GROUP BY [Sales structure].Cluster ,
[Sales structure].Country ,
[Transaction details].[Sales company code] ,
[Sales structure].[Sales company name] ,
YEAR([Transaction details].[YYYY-MM-DD]) ,
MONTH([Transaction details].[YYYY-MM-DD]) ,
[Transaction details].[Currency code] ,
Currencies.[CUR/EUR]
HAVING ( ([Transaction details].[Currency code] = [Currencies].[Currency code]) )
ORDER BY YEAR([Transaction details].[YYYY-MM-DD]) ,
MONTH([Transaction details].[YYYY-MM-DD]) ;
答案 0 :(得分:3)
JOIN
和Items
表之间没有Currencies
条件。它们只是用逗号引入。
MS Access非常关注联接。您可能还希望在每个连接周围放置括号,因为它可能有关于缺少括号的错误,即使查询在语法上没有它们也是正确的。
我强烈建议您忘记可以使用逗号,
并通过在WHERE
子句中添加连接条件来连接表。这是旧式的,应该放弃!请开始使用引入(在第一个表之后)带有JOIN
子句并加入ON
子句的ANSI SQL连接。这有很多令人信服的理由 - 如果您想了解更多信息,只需在线进行一些搜索。