À l'aide de cas avec fonction d'agrégation & les clauses group by

J'ai une requête à l'aide de CAS avec fonction d'agrégation et de la clause group by, à l'instar de ce

SELECT
A
,B
,C
,CASE
     WHEN <COLUMN_NAME_A> IS NOT NULL 
     THEN (SUM(<COLUMN_NAME_B>) * <COLUMN_NAME_A>)
          ELSE 0
END AS <ALIAS>
FROM <TARGET_TABLE>
GROUP BY
A
,B
,C
,<ALIAS>

et j'ai une erreur "GROUP BY et WITH...BY les clauses ne peuvent pas contenir d'agrégation"

puis-je modifier mon script (exclure du groupe par)

SELECT
A
,B
,C
,CASE
     WHEN <COLUMN_NAME_A> IS NOT NULL 
     THEN (SUM(<COLUMN_NAME_B>) * <COLUMN_NAME_A>)
          ELSE 0
END AS <ALIAS>
FROM <TARGET_TABLE>
GROUP BY
A
,B
,C

et encore ai une erreur "non-valeurs d'agrégation doit faire partie du groupe de sociétés associées"

s'il vous plaît aidez-moi à comprendre pourquoi ils doivent être une partie du groupe par
et que dois-je faire pour le réparer?

  • essayez cette link
InformationsquelleAutor galeka | 2013-01-29