Sowohl die Funktion SUM als auch die CASE Anweisung, können nur 1 Spalte zurückliefern.
Du könntest das ganze in 2 Subselects machen und die dann zusammenfügen.

Das könnte dann wie folgt aussehen.
Code:
with x as (
  Select sp1, sp2, (Menge * Einkaufspreis) ME_EP, (Menge * Verkaufspreis) ME_VP from tab1
  where Rabatt <> 0,00
),
x2 as (
  select sp1, sp2, 0,00 , 0,00 from tab1
  where Rabatt = 0
)
select * from x
union
select * from x2
lg Andreas