Mysql更新失败,带有子查询

Mysql更新失败,带有子查询,mysql,sql-update,subquery,Mysql,Sql Update,Subquery,我在更新查询中遇到问题。这就是交易 我有两张桌子,Article和ArticleDefinition 在文章中,我想添加ArticleDefinition中的价格,但我未能完成。 我还想添加从id 300到620的产品,当商品表中没有填写价格时 update Article set Article.Price = ( select b.price from ArticleRedefinition b, Article where Article.ArticleId = b.ArticleId a

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

我有两张桌子,Article和ArticleDefinition

在文章中,我想添加ArticleDefinition中的价格,但我未能完成。 我还想添加从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 )
提前谢谢你的帮助

 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)

谢谢

错误是什么?请贴在这里。我想知道是语法错误还是逻辑错误。你也应该把错误贴在这里。子查询可能返回多行。您确定子查询只返回一个结果吗?如果不是,您不能这样做,因为子查询中只需要一行。不,我会得到多个结果,所以这就是我遇到的基本问题。我现在在您的解决方案中遇到此错误:Msg 102,Level 15,State 1,Line 1靠近“a”的语法不正确。此错误可能是由于字段名造成的。请检查字段名称列名在查询中是否正确。我在第一行得到错误,因此在:更新文章a中,我在“a”处得到错误,所有字段名称都是正确的