0

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

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

sup1 idsup1
sup2 idsup2
sup3 idsup3

表产品。(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。但是还有其他方法吗?

4

1 回答 1

0

我不明白如何对具有相同 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

参考

于 2014-01-16T01:18:59.663 回答