다음 요구 사항이있는 SQL 스크립트를 작성 중입니다. - 1) Asset_Transaction 테이블에서 모든 레코드를 가져올 수 있어야하며 모든 자산에 대해 각 레코드에 대해 누적 합계를 계산하여 단위 수를 계산할 수 있어야합니다. 이 누적 합계 열은 Transaction_datetime이 표시된 Asset_id의 Transaction_datetime보다 작거나 같은 모든 Asset_Transactions에 대해 Units를 합산하여 계산됩니다. 나는 그것을 성취했으며, 나는 그것이 잘되고 있다고 생각한다.누적 합계 Sybase
그러나 내 두 번째 요구 사항은 다음과 같습니다 -
2) 각 asset_transaction의 날짜 및 특정 자산에 대한 UNIT_PRICE 테이블에서 sell_unitPrice을 얻을 수의 곱입니다 날짜 단위의 값을 계산 추가 된 단위 ("누적 합계")의 합계입니다. 나는
내가 지금까지 쓴SCHEMA FOR Sybase DATABASE Click ON LINK--
코드 2 단계에 고투하고있다.
set nocount on
go
declare mla_exceptions scroll cursor for
select distinct mla.asset_id from asset_transaction mla
go
Print 'asset_id, Amount, Transaction Name, Total Units, Transaction Datetime'
declare @ml_asset double precision
open mla_exceptions
fetch first mla_exceptions
into @ml_asset
while (@@sqlstatus = 0)
begin
select mla.asset_id , ',',
-- mla.transaction_datetime, ',',
mla.amount, ',',
tt.name, ',',
(select sum (units) from asset_transaction where transaction_datetime <= mla.transaction_datetime and asset_id = @ml_asset and status = 'A') 'Running Total Units', ',',
transaction_datetime
from asset_transaction mla noholdlock
Left outer join transaction_type tt on tt.transaction_type_id = mla.transaction_type_id where mla.asset_id = @ml_asset
order by mla.asset_id
fetch next mla_exceptions
into @ml_asset
end
close mla_exceptions
deallocate cursor mla_exceptions
go