简体   繁体   English

更新表a和表b

[英]UPDATE with table a and table b

TABLEA ( id - gcoins )
TABLEB ( id - prezzo )

Should I do a kind of subtraction: at number/value of 'gcoins' subtract number/value of 'prezzo'. 我应该做一种减法:在“ gcoins”的数字/值减去“ prezzo”的数字/值。

I tried: 我试过了:

UPDATE TABLEA SET TABLEA.gcoins = TABLEA.gcoins - TABLEB.prezzo FROM TABLEA JOIN TABLEB ON TABLEA.id = TABLEB.id;

I read this same code in this site at question in the 2010 but not work. 我在2010年的问题站点上读取了相同的代码,但没有用。

Error: You have an error in your SQL syntax; 错误:您的SQL语法有错误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM TABLEA JOIN TABLEB ON TABLEA.id = TABLEB.id' at line 1 在第1行的“ FROM TABLEA JOIN TABLEB ON TABLEA.id = TABLEB.id”附近,查看与您的MySQL服务器版本相对应的手册以获取正确的语法。

You wrote "UPDATE TABLEA.gcoins", and you don't need wrote again "FROM TABLEA.gcoins". 您编写了“ UPDATE TABLEA.gcoins”,而无需再次编写“ FROM TABLEA.gcoins”。 Join goes after the UPDATE value, see this example above: 连接位于UPDATE值之后,请参见上面的示例:

Try write: UPDATE (your table) JOIN (your join) ON (your join comparison) SET (your update) WHERE (your clausure if you want) 尝试编写:UPDATE(您的表)JOIN(您的联接)ON(您的联接比较)SET(您的更新)WHERE(如果需要,请您告知)

Try this rewrite. 尝试此重写。

UPDATE  TABLEA JOIN TABLEB
            ON TABLEA.id = TABLEB.id
SET     TABLEA.gcoins = TABLEA.gcoins - TABLEB.prezzo

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM