我有 3 张 table :
- tblproduct(pro_Id、数量、单价)
- tblorderdetails(order_id、pro_Id、数量)
- tblorder(order_id,totalAmount)
我打算连接这些表来更新tblorder 表中的totalAmount。这是我使用 MySql 控制台的查询:
UPDATE o
SET o.totalAmount = p.unitprice * d.qty
FROM tblorder o INNER JOIN tblorderdetails d
on o.order_id = d.order_id
INNER JOIN tblproduct p
on p.pro_Id = d.pro_Id;
这是我得到的错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use
near 'from tblorder o inner join tblorderdetails d
最佳答案
语法不正确,应该是这样的
UPDATE tblorder o
INNER JOIN tblorderdetails d
on o.order_id = d.order_id
INNER JOIN tblproduct p
on p.pro_Id = d.pro_Id
SET o.totalAmount = p.unitprice * d.qty ;
关于mysql - 通过连接 3 个表来更新一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29524356/