Suppose I have the following.
select
case
when fcompany = \'Acme\' then \'Red\'
when fcompany = \'Acme Rockets\' then \'Blue\'
else \'Green\'
en
Move the GROUP into a conditional SUM with more columns?
select
sum(CASE WHEN fcompany = 'Acme'
THEN fann_sales ELSE 0 END) AS redsales,
sum(CASE WHEN fcompany = 'Acme Rockets'
THEN fann_sales ELSE 0 END) AS bluesales
sum(CASE WHEN fcompany NOT IN ('Acme Rockets', 'Acme')
THEN fann_sales ELSE 0 END) AS greensales
FROM
slcdpm
One pass over the table for this. A UNION ALL or subquery approach (in other answers) will touch the table once per clause = somewhat slower.