SUM Gruppierung wieder verwenden

Genau hier wäre HAVING angebracht, ein GROUP BY müsste dein Query ja sinnvoller Weise auch haben.
Code:
select
sum(case when j.rdatum between '2016-01-10' and '2016-01-17' then jp.MENGE else 0 end ) as verkauft,
A.Menge_Akt as Lager
from Tabelle
Where
GROUP BY ...
HAVING sum(case when j.rdatum between '2016-01-10' and '2016-01-17' then jp.MENGE else 0 end ) > 0
ORDER BY verkauft
Du kannst sowohl im GROUP BY als auch im HAVING nicht auf deine Ergebnisspalte zugreifen weil sie zu dem Zeitpunkt noch nicht existiert. Das ganze läßt sich nur bewerkstelligen, wenn du dein Query in einen weiteren Select verschachtelst (Post #11) und dann im äußeren Select die Bedingung anwendest. Lohnt aber für diesen einen Fall nicht so sehr, HAVING ist schon eine gute Wahl.
 
Werbung:
Zurück
Oben