hi everyione, i'm getting wrong result of query in group function , i'm using 3 tables 1. sale with columns AccointId,NetAmount , quantity, date 2. Purchase colums AccounId,NetAmount,quantity,date 3.Account colums AccountId,AccountName
i made a stored procedure that take two input like Date1,Date2
i'm required that Account.AccountName,Sum of NetAmount of Purchase - SUm of NetAmoount of Sale of Date below Date amd Sum of NetAmount of Purchase-Sum of NetAmouint of Sale of Date Between Date1 and Date2, Sum of NetAmount of Sale and Purchase of Date between Date1 and Date2
i'm using this
SELECT a.SecurityName,
       Sum( d.NetAmount) - Sum(e.NetAmount)As 'Opening Amount',
       Sum( d.Quantity) - Sum(e.Quantity) As 'Opening Number',
       Sum( d.NetAmount) / Sum( d.Quantity)As 'Opening Rate', 
       Sum( s.Quantity) As 'Number', 
       Sum( s.NetAmount) / Sum( s.Quantity) As 'Rate', 
       Sum( s.NetAmount) As 'Amount',
       Sum( p.Quantity) As 'Number',
       Sum( p.NetAmount) / Sum( p.Quantity) As 'Rate',
       Sum(  p.NetAmount) AS 'Amount', 
       IsNull(Sum( d.Quantity), 0) + (Sum( p.Quantity)) - IsNull((Sum( s.Quantity)), 0) As 'Closing Number',
       IsNull(Sum( d.NetAmount),0)+(Sum( p.NetAmount)) -IsNull((Sum( s.NetAmount)),0) As 'Closing Amount',
       IsNull(Sum( d.Rate),0)+(Sum( p.Rate))-IsNull((Sum( s.Rate)),0) As 'Closing Rate'
  FROM Sale s 
left Join SecurityAccount a ON s.SecurityAccountId = a.SecurityAccountId 
Right JOIN Purchase p ON a.SecurityAccountId = p.SecurityAccountId 
Left JOin Purchase d On a.SecurityAccountId=d.SecurityAccountId
                    And d.Date < @PeriodStart
Left Join Sale e On a.SecurityAccountId=e.SecurityAccountId
                And e.Date < @PeriodStart
Group by a.SecurityName
End"
so i'm getting values 3 times greater than expected
can anyone tell me what should i do or right query???
thanks in advance