किरायेदार:

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

मैं इसे प्राप्त करने की कोशिश कर रहा हूं, इसलिए जब भी मैं नीचे वाले को अपडेट करता हूं तो यह पहली टेबल पर घटाया जाता है, जिसके आधार पर व्यक्ति इसे अपडेट करना चाहता है, लेकिन जब मैंने कोड की कोशिश की तो ऐसा होता है

१०६४ - आपके SQL सिंटैक्स में त्रुटि है;

1
L.Gabriel 18 मई 2020, 10:10

1 उत्तर

सबसे बढ़िया उत्तर

MySQL में एक मान्य सिंटैक्स है

 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
0
halfer 22 मई 2020, 14:10