Teradata 选择失败。3504:选定的非聚合值必须是关联组的一部分

Teradata 选择失败。3504:选定的非聚合值必须是关联组的一部分,teradata,Teradata,我正在尝试运行以下查询: 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_inve

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

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

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

明白了,我必须按1添加分组或按vtiger_products.productcategory添加分组或按“产品类别”添加分组。谢谢但这是否意味着我必须将所有select列放入Group By中?我正在将mysql转换为teradata sql,在该查询中,Select调用20列,但Group by只有2列(其中1列在Select中未调用)。我认为SQL的基础知识在这两方面都是一样的,Teradata作为一个“真实”的数据库,有着更为正式的要求。MySQL有很多非标准扩展,这就是其中之一。在“纯”SQL中,必须按所有非聚合列“分组”。我建议去Teradata网站;下载并阅读您的版本的SQL手册。