gpt4 book ai didi

sqlite - 计算表中列相同的列数,然后从另一个表中的列中减去

转载 作者:行者123 更新时间:2023-12-01 16:25:34 26 4
gpt4 key购买 nike

假设我们有一家超市。我们有一个名为 Sales 的表,其中每条记录都是一篇文章),因此,如果我们扫描 3 篇文章,我们将得到 3 行,其中包含以下列:ArticleId 和 Amount,其中 amount 始终为 1。然后我们有一个名为 Articles 的表,其中包含以下列:ArticleId 和AvailableAmount。

当销售完成后,我们需要统计 Sales 表中相同的记录,然后更新可用金额,其中可用金额减去每件商品的总和。

我在想这样的事情,但我不知道我的想法是否正确:

UPDATE Articles
SET
AvailableAmount = AvailableAmount - (
Select ArticleId,Count(*) From Sales Group by ArticleId HAVING Count(*) > 1
)
WHERE
ArticleId in(Select distinct ArticleId FROM Sales)

最佳答案

这个查询几乎是正确的,但是

  1. 子查询必须仅返回一列,
  2. HAVING Count(*) > 1 没有意义,并且
  3. 子查询必须仅返回一个值,因此您需要 correlated subquery :

    UPDATE Articles
    SET AvailableAmount = AvailableAmount -
    (SELECT COUNT(*)
    FROM Sales
    WHERE ArticleId = Articles.ArticleId)
    WHERE ArticleId IN (SELECT ArticleId
    FROM Sales)

关于sqlite - 计算表中列相同的列数,然后从另一个表中的列中减去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26377942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com