Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'Can not perform an aggregate function on an aggregate or a subquery' error on SQL Server

Tags:

sql-server

Select A.nEvrakKalemID As ID, 
  A.cEvrakKalem As [Inventory Name],
  SUM((IsNull((Select SUM(B.nMiktar) Where B.nEvrakTip = 3 or B.nEvrakTip = 7),0)) - (IsNull((Select SUM(B.nMiktar) Where B.nEvrakTip = 4 or B.nEvrakTip = 8),0))) As Inventory
From MasrafAnaliz.dbo.EvrakKalem A 
Left Outer Join MasrafAnaliz.dbo.EvrakKalemHareket B
On B.nKodEvrakKalem = A.nEvrakKalemID
Group By A.nEvrakKalemID, A.cEvrakKalem, B.nMiktar
Order By A.nEvrakKalemID

In the above question I want to sum up the Inventory column and group it according to the column nEvrakKalemID. But it does not work. Thank you in advance for your help.

like image 412
Şükrü Akkoç Avatar asked Jan 25 '26 05:01

Şükrü Akkoç


1 Answers

Try this :

Select A.nEvrakKalemID As ID, 
       A.cEvrakKalem As [Inventory Name],
       (SUM(CASE  WHEN B.nEvrakTip = 3 or B.nEvrakTip = 7 
                  THEN (IsNull(B.nMiktar,0))
                  ELSE 0
            END) -
        SUM(CASE WHEN B.nEvrakTip = 4 or B.nEvrakTip = 8
                 THEN IsNull(B.nMiktar,0)
                 ELSE 0
            END)) As Inventory
From MasrafAnaliz.dbo.EvrakKalem A 
Left Outer Join MasrafAnaliz.dbo.EvrakKalemHareket B On B.nKodEvrakKalem = A.nEvrakKalemID
Group By A.nEvrakKalemID, A.cEvrakKalem, B.nMiktar
Order By A.nEvrakKalemID
like image 184
Jaydip Jadhav Avatar answered Jan 28 '26 02:01

Jaydip Jadhav



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!