
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 Kunde, Sum(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 + .... > 0
Birgitta
Bookmarks