简体   繁体   English

MS-Access联合查询语法错误

[英]MS-Access union query syntax error

Goal : When generating a top 3 customer result, include a sum value in it 目标 :生成前三名客户结果时,在其中包含总和值

Problem : syntax error in union query 问题 :联合查询中的语法错误

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;

So I test each individual query to pinpoint which query is wrong 所以我测试每个查询以查明哪个查询是错误的

The first part of query, gives me 查询的第一部分,给我

The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect. 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"));

Any advice regarding the errors would be highly appreciated. 关于错误的任何建议将不胜感激。

Couple of issues: 几个问题:

  • "MIN"" is a typo (extra " ) "MIN""是错字(加号"

  • .. As dbo_SO_SalesHistory.CustomerNo is not a valid column alias due to the . .. As dbo_SO_SalesHistory.CustomerNo不是有效的列别名,原因是. , to escape it: .. As [dbo_SO_SalesHistory.CustomerNo] ,以对其进行转义: .. As [dbo_SO_SalesHistory.CustomerNo]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM