代码之家  ›  专栏  ›  技术社区  ›  Selvam

teradatasql:如何使用SUM函数根据情况A或B将total加成2组?

  •  0
  • Selvam  · 技术社区  · 7 年前
    SELECT
        Account,
        CASE WHEN Type = 1 THEN SUM(Amount) END AS Type1_tot,
        CASE WHEN Type = 2 THEN SUM(Amount) END AS Type2_tot
    FROM Table
    

    错误-选定的非聚合值必须是关联组的一部分。

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  1
  •   Tim Biegeleisen    7 年前

    使用条件聚合,而不是求和 CASE

    SELECT
        Account,
        SUM(CASE WHEN Type = 1 THEN Amount ELSE 0 END) AS Type1_tot,
        SUM(CASE WHEN Type = 2 THEN Amount ELSE 0 END) AS Type2_tot
    FROM yourTable
    GROUP BY
        Account