Cześć,
Mam taki fragment zapytania, które ma reprezentować obrót (Sprzedaż - zakup) na poszczególnych kontrahentach
CASE WHEN dbo.fnMAKE_DOKPARAM(dok_Typ, dok_Podtyp) IN (65536, 65537, 65538, 196608, 327680, 327681) THEN
SUM(CASE WHEN (ob_TowRodzaj&16)>0 THEN 0 ELSE ob_WartNetto * ob_Znak * (-1) END)
ELSE SUM(CASE WHEN (ob_TowRodzaj&16)>0 THEN 0 ELSE ob_WartNetto * ob_Znak END) END as WartNetto,
Niestety w wyniku otrzymuję zdublowane rekordy. Chodzi o to, że jeśli dany kontrahent miał zakup i sprzedaż, to w jednym rekordzie dostaję zakup ze znakiem -, a w drugim sprzedaż. A chciałbym, żeby to się sumowało. Próbowałem zamknąć całość w SUM(), ale niestety otrzymałem błąd:
Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
Podpowie ktoś jak to ugryźć?