Account satement -simplicity is the best
DECLARE @AccountBalance TABLE
(
TransactionType CHAR(1)
,[Date] DATETIME
,[Description] VARCHAR(100)
,Amount DECIMAL(10,2)
,Paymenttype VARCHAR(100)
,Remarks VARCHAR(100)
)
INSERT INTO @AccountBalance VALUES('C','07/01/2017 14:02:49.323','Credited',12000,'Cash','Done')
INSERT INTO @AccountBalance VALUES('C','07/01/2017 14:04:50.113','Credited',1300.45,'Cheque','Done')
INSERT INTO @AccountBalance VALUES('D','07/03/2017 15:00:10.413','Debited',1500,'RTGS','Done')
INSERT INTO @AccountBalance VALUES('C','07/04/2017 18:02:20.223','Credited',25000,'NEFET','Done')
INSERT INTO @AccountBalance VALUES('D','07/04/2017 03:02:01.123','Debited',25000,'NEFET','Done')
select * from @AccountBalance
SELECT *
,(
ISNULL((SELECT SUM(Amount)
FROM @AccountBalance a
WHERE a.[Date]<= AB.[Date] AND TransactionType = 'C'),0) -
ISNULL((SELECT SUM(Amount)
FROM @AccountBalance a
WHERE a.[Date]<= AB.[Date] AND TransactionType = 'D'),0)
) BALANCE
FROM @AccountBalance AB
ORDER BY [Date]
Output
check this for more detail and extra method
Comments
Post a Comment