Zitat Zitat von Fuerchau
Hierfür dient dann die HAVING-Klausel.
Allerdings muss da der komplette Befehl wiederholt werden:

select ...
from
where
group
having
Sum(Case When Year(Datum) in (2003, 2004, ...) then Wert else 0 End) <> 0

Man beachte hierbei, dass du nicht NULL nehmen solltest, da du sonst 2 Abfragen benötigst:

having
Sum(Case When Year(Datum) in (2003, 2004, ...) then Wert else 0 End) <> 0 or
not Sum(Case When Year(Datum) in (2003, 2004, ...) then Wert else NULL End) is NULL
Da würde ich denn doch lieber eine Common Table Expression verwenden:
PHP-Code:
With X as (Select KundeSum(Case When Jahr 2003 
                                  then Umsatz 
else 0 End) as Ums2003
                         
Sum(Case When Jahr 2004 
                                  then Umsatz 
else 0 End) as Ums2004,      
                         ... 
              
From MyTable 
              Where 
... 
              
Group By Kunde)
Select From X
   Where Ums2003 
Ums2004 + .... > 
Birgitta