[英]SQL- How to update amount(sum) with one time inner join with the multiple row with the same member id
我計划用具有相同成員 ID 的第 3 行更新金額。
這就是我所做的
DECLARE @UpdatedWagerItem TABLE (MemberID bigint, CompanyID int, amount decimal )
INSERT INTO @UpdatedWagerItem VALUES (3,1,2);
DECLARE @UpdatedWagerItem2 TABLE (MemberID bigint, CompanyID int, amount decimal )
INSERT INTO @UpdatedWagerItem2 VALUES (3,1,5);
INSERT INTO @UpdatedWagerItem2 VALUES (3,1,5);
INSERT INTO @UpdatedWagerItem2 VALUES (3,1,5);
UPDATE m
SET
m.amount = m.amount + u.amount
FROM @UpdatedWagerItem m
INNER JOIN @UpdatedWagerItem2 u
ON m.MemberID = u.MemberID and m.CompanyID = u.CompanyID
SELECT * FROM @UpdatedWagerItem
第 2 行和第 3 行不起作用。 如何一鍵更新余額?
您需要在第二張表上按功能分組才能先匯總金額。
UPDATE m
SET
m.amount = m.amount + u.amount
FROM @UpdatedWagerItem m
INNER JOIN (SELECT MemberID,CompanyID,SUM(amount) amount
FROM @UpdatedWagerItem2
GROUP BY MemberID,CompanyID
) u ON m.MemberID = u.MemberID and m.CompanyID = u.CompanyID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.