我正在学习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行"
答案 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)