【问题标题】:MS-Access union query syntax errorMS-Access 联合查询语法错误
【发布时间】: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


【解决方案1】:

几个问题:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 2014-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多