【问题标题】:Errors When trying to Update SQL Field尝试更新 SQL 字段时出错
【发布时间】:2021-05-25 13:25:35
【问题描述】:

大家好,我有以下 MSSQL 更新查询

UPDATE Campaign **c**
**INNER JOIN** (
    SELECT CampaignID, sum(Amount) as total
    FROM Donation
    GROUP BY CampaignID
) t ON c.CampaignID = t.CampaignID
SET c.AmountDonated = t.total

看起来它应该可以正常工作,但是我收到一个与 Campaign Table (c) 后缀有关的错误,然后是 INNER JOIN 中的 INNER 错误,但我不明白为什么。谁能指出我正确的方向吗?

【问题讨论】:

  • 如果您查看documentation,您会发现您的语法非常错误。
  • 看起来是这样

标签: sql sql-server


【解决方案1】:

请尝试以下查询:

UPDATE c
SET c.AmountDonated = t.total
FROM Campaign c
INNER JOIN (
    SELECT CampaignID, sum(Amount) as total
    FROM Donation
    GROUP BY CampaignID
) t ON c.CampaignID = t.CampaignID

在查询结束时使用FROMJOINS

【讨论】:

  • 嗨,Marko - 效果很好,当我从之前回答的问题中获取代码时,我感到很困惑。感谢回复
  • @Davea 没问题。但是下次检查文档以了解基本内容。请将我的回复标记为正确答案。
猜你喜欢
  • 2021-04-05
  • 2019-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-01
  • 2023-01-30
  • 2018-07-17
相关资源
最近更新 更多