sql查询的问题

sql查询的问题,sql,debugging,query-optimization,aggregate-functions,Sql,Debugging,Query Optimization,Aggregate Functions,我有一张供应商表和一张产品表。我需要删除一个供应商,然后将所有产品及其金额添加到另一个供应商。比如说 表格供应商。我删除供应商1 sup1 idsup1 sup2 idsup2 sup3 idsup3 表products.idpr-外键 idpr1 amount1 idsup1 idpr1 amount2 idsup3 idpr1 amount3 idsup2 idpr2 amount4 idsup2 我需要将所有数量的供应商1的产品添加到供应商2,因此此表如下所示 idpr1 amount

我有一张供应商表和一张产品表。我需要删除一个供应商,然后将所有产品及其金额添加到另一个供应商。比如说

表格供应商。我删除供应商1

sup1 idsup1
sup2 idsup2
sup3 idsup3
表products.idpr-外键

idpr1 amount1 idsup1
idpr1 amount2 idsup3
idpr1 amount3 idsup2
idpr2 amount4 idsup2
我需要将所有数量的供应商1的产品添加到供应商2,因此此表如下所示

idpr1 amount2 idsup3
idpr1 amount3+amount1 idsup2 
idpr2 amount4 idsup2
但是怎么做呢?我不知道如何用相同的idpr求和所有产品。我使用idsup1为所有记录设置idsup2。但还有别的办法吗

我不明白如何用相同的idpr对所有产品求和

在WHERE子句中使用子查询,并在SUM函数中使用列名,如下例所示:

SELECT 'site://tags/' + TargetTagName + '/synonyms|' + TargetTagName AS [VOTE4ME], Count(SourceTagName) AS [SYNONYMS]
FROM TagSynonyms TS
WHERE
ApprovalDate IS NULL
AND
(SELECT SUM(
 CASE V.VoteTypeId 
 WHEN 2 THEN 1 
 WHEN 3 THEN -1 
 END) 
 FROM TAGS T, PostTags Pt, Posts P, Votes V, VoteTypes Vt
 WHERE T.Id = Pt.TagId
 AND P.Id = V.PostId
 AND Pt.PostId = P.ParentId
 AND Vt.Id = V.VoteTypeId
 AND T.TagName = TargetTagName
 AND P.OwnerUserId = ##userid##
 AND P.CommunityOwnedDate IS NULL
) > 4
GROUP BY TargetTagName
参考资料


你用的是哪种发动机?另外,请提供确切的描述结果。我相信,要做到这一点,您需要在UPDATE语句的SET子句的RHS中使用一个子查询。不过,第一步是编写SELECT语句,它将为您提供正确的答案。有了它,您就可以开发UPDATE语句了。