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