【发布时间】:2017-11-02 01:00:38
【问题描述】:
目标:生成前 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""是一个错字(额外的") -
@AlexK。太感谢了!我做了仔细检查,但没有注意到。谢谢你。我仍然从查询的第一部分得到错误。
-
试试
As [dbo_SO_SalesHistory.CustomerNo](点在非转义别名中无效) -
@AlexK。耶,非常感谢!问题解决了!非常感谢你!请您以我可以绿色检查的方式回答问题吗?
标签: sql ms-access ms-access-2010 union