Min gissning är att du egentligen inte vill GROUP BY
någon_produkt.
svaret till: "Finns det något sätt att GROUP BY
ett kolumnalias som some_product i det här fallet, eller måste jag lägga detta i en underfråga och grupp på det?" är: Du kan inte GROUP BY
ett kolumnalias.
SELECT
sats, där kolumnalias tilldelas, bearbetas inte förrän efter GROUP BY
klausul. En inline-vy eller gemensamt tabelluttryck (CTE) kan användas för att göra resultaten tillgängliga för gruppering.
Inbäddad vy:
select ...
from (select ... , CASE WHEN col1 > col2 THEN SUM(col3*col4) ELSE 0 END AS some_product
from ...
group by col1, col2 ... ) T
group by some_product ...
CTE:
with T as (select ... , CASE WHEN col1 > col2 THEN SUM(col3*col4) ELSE 0 END AS some_product
from ...
group by col1, col2 ... )
select ...
from T
group by some_product ...