试图获得不同的表在MySQL中的两个不同的数字的差异

承租人:

roomid monthlypay
12     1000
24     1000

水电费:

roomid  total
12      500
24      1000
UPDATE tenant
SET monthlypay=monthlypay-utilitypayment.total
From tenant s inner join utilitypayment i
    on s.roomid=i.roomid WHERE roomid=12

我正在尝试获取它,所以每当我更新最下面的那个时,它都会减到第一个表上,具体取决于该人想要更新它的房间,但是当我尝试代码时,会发生这种情况

1064-您的SQL语法有误;
评论
  • 念念不忘
    念念不忘 回复

    在mysql中有效的sintax是

     UPDATE tenant t 
     INNER JOIN utilitypayment i on t.roomid=i.roomid
        AND t.roomid=12
     SET t.monthlypay=t.monthlypay-i.total
    

    要么

     UPDATE tenant t 
     INNER JOIN utilitypayment i on t.roomid=i.roomid
     SET t.monthlypay=t.monthlypay-i.total
     where t.roomid = 12