您好我需要一些帮助我有以下选择语句但是滚动平衡似乎不起作用。
Select Distinct
Substring(Convert(Varchar(10), M.ValueDate, 101), 0, 11) As 'Value Date'
, base.Reference
, 'Transaction Discription' As [Transaction Discription]
, M.Action
, base.Nominal
, base.Consideration
, (BrokerFee + CSDPFee + CSDFee + InvestorProtectionLevyFee + ExchangeFee + GuaranteedFee) As 'Transaction Fee'
, base.VATFee As 'VAT'
, base.SecuritiesTransferTax
, (base.Consideration - (BrokerFee + CSDPFee + CSDFee + InvestorProtectionLevyFee + ExchangeFee + GuaranteedFee)) As [Total Consideration]
, (Select Top (1)
Round(Sum((base.Consideration - (BrokerFee + CSDPFee + CSDFee + InvestorProtectionLevyFee + ExchangeFee + GuaranteedFee))), 2)
From CashMovements T2
Where T2.RowId <= M.RowId
And T2.AccountNumber = M.AccountNumber
And T2.Action In ('W', 'D')
) As 'RunningTotal'
From (Select *
From Instructions
Where instructionId In (Select Distinct
XReference
From cashmovements As CM
Where accountnumber In (Select AccountNumber
From CashAccounts
Where AccountNumber In (Select Distinct
AccountNumber
From CrossReferences
Where Class In (Select ScripAccountId
From ScripAccounts))))
) As base
Inner Join CashMovements As M
On M.XReference = base.InstructionId
Where M.AccountNumber = '00000000006'
And M.Action In ('W', 'D')
And base.Consideration <> 0
And Nominal <> 0
Group By M.ValueDate
, base.Reference
, M.Action
, base.Nominal
, base.Consideration
, base.BrokerFee
, base.VATFee
, base.CSDPFee
, base.CSDFee
, base.InvestorProtectionLevyFee
, base.ExchangeFee
, base.GuaranteedFee
, base.SecuritiesTransferTax
, M.RowId
, M.AccountNumber
Order By base.Reference;
似乎它只是重复了这些值
以下是我得到的结果集:
> Total Consideration RunningTotal
> 137.21 137.21
> 137.21 137.21
> 1462.25 1462.25
> 4406.74 4406.74
> 1462.25 1462.25
> 1462.25 1462.25
> 5878.99 5878.99
这是我想要的结果集
> Total Consideration RunningTotal
> 137.21 137.21
> 137.21 274.42
> 1462.25 1736.67
> 4406.74 6143.41
> 1462.25 7605.66
> 1462.25 9067.91
> 5878.99 14946.9
因此,运行总计应增加每一行的总考虑金额