【问题标题】:SELECT Failed. 3504: selected non-aggregate values must be part of the associated group选择失败。 3504: 选定的非聚合值必须是关联组的一部分
【发布时间】:2013-07-10 22:48:11
【问题描述】:

我正在尝试运行以下查询:

SELECT  vtiger_products.productcategory AS "Product Category",
        SUM(vtiger_inventoryproductrel.quantity) AS "Line Item Qt"
  FROM bi_batch.vtiger_inventoryproductrel
       INNER JOIN bi_batch.vtiger_products
       ON vtiger_inventoryproductrel.productid

【问题讨论】:

    标签: teradata


    【解决方案1】:

    看起来您需要一个 group by 子句,但您的非聚合列没有一个。尝试添加“按 vtiger_products.productcategory 分组”

    【讨论】:

    • 知道了,我必须添加 GROUP BY 1 或 GROUP BY vtiger_products.productcategory 或 GROUP BY “产品类别”。谢谢!
    • 但这是否意味着我必须将所有选择列放在 Group By 中?我正在将 mysql 转换为 teradata sql,在该查询中 Select 调用了 20 列,但 Group by 只有 2 列(其中 1 列未在 select 中调用)。我虽然两者的 SQL 基础是相同的。
    • Teradata 是一个“真正的”数据库,具有更正式的要求。 MySQL 有 很多 的非标准扩展,这就是其中之一。在“纯”SQL 中,您必须按所有非聚合列“分组”。我建议访问 Teradata 网站;下载并阅读您的版本的 SQL 手册。
    猜你喜欢
    • 2015-10-05
    • 2020-10-23
    • 2013-06-27
    • 2021-12-17
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 2018-07-15
    相关资源
    最近更新 更多