MS-Access 联合查询语法错误

MS-Access union query syntax error

目标:生成前 3 名客户结果时,在其中包含一个总和值

问题:联合查询语法错误

SELECT Sum(dbo_SO_SalesHistory.DollarsSold) AS SumDollarsSold, "ALLE" As dbo_SO_SalesHistory.CustomerNo  
FROM dbo_SO_SalesHistory 
WHERE ((dbo_SO_SalesHistory.[CustomerNo]) IN ("MIN","ALLE","BROO","OMP")) 
UNION
SELECT TOP 9  
Sum(DollarsSold), CustomerNo 
FROM dbo_SO_SalesHistory 
WHERE ((dbo_SO_SalesHistory.CustomerNo) NOT IN ("MIN"","BROO", "ALLE", "OMP")) GROUP BY dbo_SO_SalesHistory.CustomerNo ORDER BY 1 DESC;

所以我测试了每个单独的查询以查明哪个查询是错误的

查询的第一部分,给了我

SELECT 语句包含一个保留字或一个拼写错误或遗漏的参数名称,或者标点符号不正确。

SELECT Sum(dbo_SO_SalesHistory.DollarsSold) AS SumDollarsSold, "PHOALLE" As dbo_SO_SalesHistory.CustomerNo 
FROM dbo_SO_SalesHistory
WHERE ((dbo_SO_SalesHistory.CustomerNo) IN ("PHOMIN","PHOALLE","PHOBROO","PHOMP"));

如有任何关于错误的建议,我们将不胜感激。

几个问题:

  • "MIN"" 是一个错字(额外 "

  • 由于 .
  • .. As dbo_SO_SalesHistory.CustomerNo 不是有效的列别名,要转义它:.. As [dbo_SO_SalesHistory.CustomerNo]