我遇到的情況,我有兩個表:SQL Server 2008中:基於優先級UPDATE柱
CREATE TABLE #TableA (payee_ID int, NetAmount decimal(9,2))
INSERT INTO #tableA (Payee_ID,NetAmount)
VALUES (2408332,1539.18)
CREATE TABLE #TableB (Payee_ID int,Priority int,formatTag char(1), Rate decimal(5,2), Netamount decimal(9,2), dedicatedAmt decimal(9,2))
INSERT INTO #TableB (Payee_ID, Priority, FormatTag, Rate)
VALUES
(2408332, 1, ‘F’, 500.00),
(2408332, 2, ‘P’, 0.25),
(2408332, 3, ‘P’, 0.25),
(2408332, 4, ‘F’, 100.00),
(2408332, 5, ‘P’, 1.00)
哪裏FormatTag是平率或百分比。
現在我想通過爲此收款人啓動優先級1來填充NetAmount和專用金額。
其優先級1的他的NetAmount
將總數爲net amount
from tableA。如果formattag
是Flat rate
,則dedicated amount
將是rate
。
而且,如果formattag
是百分比,那麼它將是總數的百分比netAmount
。
我想去的優先事項,並保持基於先前的優先使用的dedicatedAmmt減去TableB中的netAmount:
Expected result:
Payee_ID Priority formatTag Rate Netamount dedicatedAmt
2408332 1 F 500.00 1539.18 500.00
2408332 2 P 0.25 1039.18 259.80
2408332 3 P 0.25 779.38 194.85
2408332 4 F 100.00 584.53 100.00
2408332 5 P 1.00 484.53 484.53
感謝
你應該標記與正在使用的數據庫這個問題。我相信這是一個難題,因爲您必須使用遞歸CTE在SQL中解決它。 – 2015-01-26 19:45:37
我已經更新了標籤。謝謝 – user3294322 2015-01-26 19:55:13