【问题标题】:SQL: How to include non-aggregate in a aggregate Select statementSQL:如何在聚合 Select 语句中包含非聚合
【发布时间】:2018-09-18 09:43:26
【问题描述】:

我在 Teradata 查询下面有这个:

create volatile table Sales_Record as (select max(a2.MDL_DESC),max(a3.DMD_DESC) FROM 
MDL_DD_DESC a2, DMD_DD_DESC a3);

当尝试使用以下内容执行查询时:

create volatile table Sales_Record as (select a1.SAL_DT SAL_DT,max(a2.MDL_DESC),max(a3.DMD_DESC) FROM SAL_DD_DT a1,
MDL_DD_DESC a2, DMD_DD_DESC a3);

出现错误:

Selected non-aggregate values must be part of the associated group.

如何在聚合函数的查询中添加a1.SAL_DT SAL_DT

【问题讨论】:

    标签: sql teradata


    【解决方案1】:

    你需要一个GROUP BY clause:

    select a1.SAL_DT SAL_DT,max(a2.MDL_DESC),max(a3.DMD_DESC) 
    FROM SAL_DD_DT a1, MDL_DD_DESC a2, DMD_DD_DESC a3 
    GROUP BY a1.SAL_DT
    

    您确定这就是您想要加入这些表格的方式吗?似乎您得到了它们之间所有可能组合的产物,没有任何东西可以将表格相互关联,这很少是任何人想要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多