“ where子句”中的未知列“ item.Item_id”?

时间:2019-09-12 11:31:47

标签: mysql

价格来自表格项目,而Payment_amount来自表格发票。我的代码有什么问题?

UPDATE invoice
SET payment_amount = Quantity_bought*(SELECT Price
                                      FROM item)
                                      WHERE item.Item_id = invoice.Item_id;
  

#1054-“ where子句”中的未知列“ item.Item_id”

3 个答案:

答案 0 :(得分:1)

在末尾移动')'

UPDATE invoice
SET payment_amount = Quantity_bought*(SELECT Price
                                      FROM item
                                      WHERE item.Item_id = 
                                            invoice.Item_id);

答案 1 :(得分:0)

sql语法不正确。

下面写的是正确的。

更新发票 设置付款金额=购买数量*(选择价格                                       来自项目                                       WHERE item.Item_id = invoice.Item_id);

答案 2 :(得分:0)

如果您使用Google How to update using JOIN in MySQL,则只需使用join即可完成操作,并找到足够的示例。尽管已经回答了,但是您可以使用JOIN选择一种简单的方法,如下所示:

UPDATE invoice
INNER JOIN item ON item.Item_id = invoice.Item_id 
SET payment_amount = (Quantity_bought * Price);