【问题标题】:your query does not include the specified expression as part of an aggregate function, how to fix error?您的查询不包含指定表达式作为聚合函数的一部分,如何修复错误?
【发布时间】:2021-05-06 03:54:37
【问题描述】:

如何更正此代码以修复我收到的“您的查询不包含作为聚合函数的一部分的指定表达式”的错误

SELECT CUSTOMER.ACCOUNT_NUM, CUSTOMER.CUSTOMER_NAME, CUSTOMER.BR_NUM, CUSTOMER.REG_NAME, ORDER.ORDER_TYPE, ORDER.COMP_DT, ORDER.ISSUE_DT, [ORDER]![ACCOUNT_NUM] & [ORDER]![ORDER_TYPE] AS [Key], INTO Final Output
FROM (ORDER INNER JOIN CUSTOMER ON ORDER.ACCOUNT_NUM = CUSTOMER.ACCOUNT_NUM) 
WHERE (((CUSTOMER.INDQ)=0) AND ((CUSTOMER.PLAN_IND)=1))
GROUP BY CUSTOMER. ACCOUNT_NUM, CUSTOMER. CUSTOMER_NAME, CUSTOMER.BR_NUM, CUSTOMER.REG_NAME, ORDER.ORDER_TYPE, ORDER.COMP_DT, ORDER.ISSUE_DT, 
HAVING (((ORDER.COMP_DT)=20210129));

【问题讨论】:

  • [ORDER]![ACCOUNT_NUM] & [ORDER]![ORDER_TYPE] 不在分组列表中

标签: sql ms-access group-by ms-access-2010 aggregate-functions


【解决方案1】:

问题在于GROUP BY 中缺少密钥。我会推荐其他一些更改:

  • HAVING 子句移至WHERE 子句。
  • 使用表别名。

你还有一些多余的逗号。

所以:

SELECT c.ACCOUNT_NUM, c.CUSTOMER_NAME, c.BR_NUM, c.REG_NAME, 
       o.ORDER_TYPE, o.COMP_DT, o.ISSUE_DT,
       o.[ACCOUNT_NUM] & o.[ORDER_TYPE] AS [Key]
INTO Final Output
FROM (ORDER as o INNER JOIN
      CUSTOMER as c
      ON o.ACCOUNT_NUM = c.ACCOUNT_NUM) 
WHERE c.INDQ = 0 AND c.PLAN_IND = 1 AND
      o.COMP_DT = 20210129
GROUP BY c.ACCOUNT_NUM, c.CUSTOMER_NAME, c.BR_NUM, c.REG_NAME, 
         o.ORDER_TYPE, o.COMP_DT, o.ISSUE_DT, 
         o.[ACCOUNT_NUM] & o.[ORDER_TYPE]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多