CREATE TABLE #T1
(id INT NOT NULL,
balance money NOT NULL)
INSERT INTO #T1
(id,balance)
VALUES
(1, 1000 ),
(2, 2000 ) ,
(3, 3000 )
CREATE TABLE #T2
(id INT NOT NULL,
rate MONEY NOT NULL,
months INT NOT NULL)
INSERT #T2
(id,rate,months)
VALUES
(1,.5,10),
(2,.25,24),
(3,.4,16)
--confirm data
SELECT * FROM #T1
SELECT * FROM #T2
--update balances
update t1 SET balance = T1.Balance + (T2.rate*T2.months*T1.Balance)
FROM #T1 AS t1
JOIN #T2 AS t2
ON t1.id = t2.id
2条答案
按热度按时间9rbhqvlz1#
我创建了要重新创建的临时表,因此您可以使用下面的更新:
avwztpqn2#
下面的查询可以帮助您使用单个查询更新特定列的所有行。
或者你也可以试试这个