このように、集計関数とグループ化句を使用して CASE を使用するクエリがあります。
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>
「GROUP BYおよびWITH ... BY句には集計が含まれていない可能性があります」というエラーが表示されました
次に、スクリプトを変更します(group byから除外します)
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
それでも「選択された非集計値は、関連付けられたグループの一部である必要があります」というエラーが表示されます
group by の一部である必要がある理由と、それを修正するにはどうすればよいかを理解するのを手伝ってください。