我的UPDATE语句有什么问题?

时间:2016-03-25 20:12:34

标签: mysql sql

我正在学习SQL,并且我试图将数据从一个表导入另一个表。我已经取得了一些成功,但更新声明给了我一些问题。我在新表中有一个击球平均列,我试图将实际值加入其中。

  

即。命中(h)和蝙蝠(ab)在表1中,但我希望表2中的h / ab = avg。

我试过了:

UPDATE seasonbatting s 

Set OBP = (H/AB) 

FROM Batting b 

WHERE b.playerID = s.playerID 

AND b.yearID = s.yearID; 

但是我收到了错误:

  

"您的SQL语法出错了;检查与您的MySQL服务器版本相对应的手册,以便在#bat; FROM batting b附近使用正确的语法   WHERE.playerID = b.playerID AND s.yearID = p.yearID'在第3行"

1 个答案:

答案 0 :(得分:2)

MySQL不支持FROM中的UPDATE子句。您的语法看起来更像Postgres或SQL Server。

你想:

UPDATE seasonbatting s JOIN
       Batting b
       ON b.playerID = s.playerID AND b.yearID = s.yearID
    Set s.OBP = (H/AB)