我一直在爲一個我繼承的財務系統的報告工作,而且代碼真的是一團糟。目前,當前的代碼執行多個查詢並執行過程來構建公用列表,然後將其用作DevExpress網格控件的數據源。在應用程序的其他部分工作之後,我發現在數據庫中執行所有的計算要高效得多,因爲它們相當基礎。檢索和操縱數字一直很簡單,但我暫時試圖完成報告的最後一部分:分類賬。存儲過程來計算並返回兩行(信用/借記卡)
本質上,我需要執行計算,並根據值爲正值或負值,將這些值顯示在兩行之一(借方或貸方)中。僅僅學習了存儲過程之後,我就陷入瞭如何做到這一點。我有我的代碼和所有聲明的變量「設置」,但我不知道如何「分配」他們的行,因爲沒有這個表,我真的不知道我會如何去解決這個問題。
任何人都可以引導我正確的方向?我並不是要求某人爲我編碼,我不知道如何定義爲了研究方法需要做什麼。
下面是輸出正確的數字,但都在一排當前select語句:
set @OpeningBalance = -3; /**some real calculations here**/
if @OpeningBalance is null
begin
set @OpeningBalance = 0
end;
set @ReserveAmount = 569119.60; /**in place of the real calculations **/
set @ReserveTotal = (@OpeningBalance + @ReserveAmount);
set @ReserveRate = 0.25; /**in place of the select statement calculations **/
set @RequiredReserve = (@ReserveAmount);
set @ReserveRefund = (@ReserveTotal - @RequiredReserve);
set @UnfinancedInvoices = 21026087.59; /**in place of the real calculations **/
set @ReserveBalance = (@RequiredReserve + @UnfinancedInvoices);
SELECT @OpeningBalance as 'OpeningBalance',
@ReserveAmount as 'ReserveAmount',
@ReserveTotal as 'ReserveTotal',
@ReserveRate as 'ReserveRate',
@RequiredReserve as 'RequiredReserve',
@ReserveRefund as 'ReserveRefund',
@UnfinancedInvoices as 'UnfinancedInvoices',
@ReserveBalance as 'ReserveBalance'
END
我寧願「0.00」值而不是空格
我想也許我可以有一個ID爲選擇語句,但我甚至不知道我需要做什麼是可能的SQL(雖然我'如果不是,我會感到驚訝)
請幫助!
請你能提供一個你想如何看輸出的樣本?我無法想象這個問題的預期結果。 – LunarSage
是的,你一定需要提供樣本數據。你是說你需要返回兩行而不是一行嗎? –
@LunarSage請回顧一下,我已經添加了輸出的樣機。 – Daniel