這是我的SQL代碼:如何將立即插入的行列插入批量插入中的下一列?
CREATE TABLE #tmp
(
Id INT IDENTITY(1, 1) ,
Amount MONEY ,
Rate FLOAT ,
NetAmount MONEY
);
CREATE TABLE #rate (Rate FLOAT);
INSERT INTO #rate
(Rate)
VALUES (1.2);
-- Rate - float
INSERT INTO #rate
(Rate)
VALUES (1.3 -- Rate - float
);
INSERT INTO #rate
(Rate)
VALUES (1.5 -- Rate - float
);
DECLARE @Amount MONEY = 5000;
INSERT INTO #tmp
(Amount ,
Rate ,
NetAmount
)
SELECT @Amount ,
r.Rate ,
r.Rate * @Amount
FROM #rate AS r;
SELECT *
FROM #tmp AS t;
DROP TABLE #rate;
DROP TABLE #tmp;
這是我的輸出:
Id Amount Rate NetAmount
----------- --------------------- ---------------------- ---------------------
1 5000.00 1.2 6000.00
2 5000.00 1.3 6500.00
3 5000.00 1.5 7500.00
我需要一個像這樣的輸出:
Id Amount Rate NetAmount
----------- --------------------- ---------------------- ---------------------
1 5000.00 1.2 6000.00
2 6000.00 1.3 7800.00
3 7800.00 1.5 11700.00
正如你所看到的第一個量,接收5000.00作爲一個參數,然後是一個特定順序的定義費率列表。我需要乘以每一個費率,你可以在我的需求輸出中看到。第一個NetAmount成爲下一行的金額。
我想最好不使用遊標或while循環。