【问题标题】:Mysql update fails, with subqueryMysql 更新失败,带有子查询
【发布时间】:2015-10-23 07:25:25
【问题描述】:

我在更新查询时遇到问题。所以这就是交易。

我有 2 张桌子,ArticleArticleredefenition

Article 中,我想添加来自Articleredefenition 的价格,但我未能完成。 我还想添加从 id 300 到 620 的产品,并且在文章表格中没有填写价格时

update Article
set Article.Price = (
select b.price
from ArticleRedefinition b, Article
where Article.ArticleId = b.ArticleId and  b.ArticleId > 300 and Article.ArticleId < 620
  and Article.Price is NULL and b.ConfigurationId = 27 )

提前感谢您的帮助!

【问题讨论】:

  • 错误是什么?请在此处粘贴。我想知道是语法错误还是逻辑错误
  • 您也应该在此处粘贴错误。也许您的子查询返回不止一行。
  • 您确定您的子查询返回单个结果吗?如果没有,你不能这样做,因为子查询中只有一行。
  • 不,我得到了多个结果,所以这基本上就是我遇到的问题。

标签: mysql sql-update subquery


【解决方案1】:
 UPDATE Article a 
    INNER JOIN ArticleRedefinition b 
    ON a.ArticleId = b.ArticleId 
    SET a.Price = b.Price 
    WHERE a.Price is NULL 
    AND (a.ArticleId BETWEEN 300 AND 620)

谢谢

【讨论】:

  • M3ghana 我现在使用您的解决方案收到此错误:Msg 102, Level 15, State 1, Line 1 'a' 附近的语法不正确。
  • 该错误可能是由于字段名。请检查查询中的字段名(列名)是否正确。
  • 我在第一行得到了错误,所以在:update Article a 我得到了错误的'a',所有的字段名都是正确的
猜你喜欢
  • 2012-07-20
  • 2015-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
  • 2016-05-13
  • 2011-12-02
  • 2018-02-05
相关资源
最近更新 更多